参见英文答案 >
Should I use the same name for a member variable and a function parameter in C++9个
例如,这是以下任何一种情况
例如,这是以下任何一种情况
>不好的做法
>难以理解
>低效(调用此指针)
>为什么这么做是不好的任何其他原因
.
class Person { public: string name; Person(string name) { this->name = name; } };
附:
解决方法
我能想到的唯一问题(不是真正的问题)是你无法区分成员变量与局部变量或函数参数.这只是编码风格,它与效率无关,但当你谈到不可读时,这对我来说是对的.
对我来说,我通常使用尾随下划线命名类成员变量.它有助于编码可读性并使维护更容易.
class Person { public: string name_; // member variable with traling `_` string m_surname; // some microsoft style declares member start with `m_` Person(const string& name) // pass parameter by reference. : name_(name) // you know you are constructing member name_ with name variable { } };