如果我有课:
class className{
int i;
public:
className(int value);
};
根据以下选择从构造函数初始化类变量“i”的最佳实践是什么?
1) 使用带下划线的实际字段名称:
className::className(int i_){
i = i_;
}
2)使用带有“this”的实际字段名称:
className::className(int i){
this->i = i;
}
3)完全不一致的事情,例如:
className::className(int value){
i = value;
}
我看到这个问题在 Java 中被直接解决,但在 C++ 中却没有那么多。我这么问是因为我更喜欢数字 2,因为我个人更喜欢使用较少的变量名称。不过,我想知道这对编译器或链接器等可能意味着什么进一步的考虑。我也想坚持 C++ 规范。
非常感谢!
最佳答案
是的,没关系。
有些人实际上认为这是惯用的。
但是,您的示例都缺少初始值设定项列表的使用:)
class className{
int i;
public:
className(int value) : i(value) {};
};
我建议避免重复名称造成混淆。如果你不小心搞砸了,它会让编译器提示。
关于c++ - 在类中使用相同的变量可以在构造函数 C++ 中使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33192391/