我想知道在C++中为成员变量和函数参数使用相同的名称是否是一个好习惯.我来自Java背景,这很常见.我想知道在C++中是否有缺点做以下(代码工作):
class Player
{
public:
void setState(PlayerState *state)
{
this->state = state;
}
private:
PlayerState *state;
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的答案.据我了解,虽然它有效,但更好的做法是使用某种标记来区分成员变量和函数参数,例如:
_ or m_
Run Code Online (Sandbox Code Playgroud)
在某些编辑器(如Qt Designer)中,成员变量以不同的颜色显示.这就是为什么似乎没有必要添加任何前缀.
例如,这是以下任何一种情况
this指针的调用).
class Person {
public:
string name;
Person(string name) {
this->name = name;
}
};
Run Code Online (Sandbox Code Playgroud)
PS
怎么样 Person(string name) : name(name) { }
请考虑以下代码段:
struct S
{
S( const int a )
{
this->a = a; // option 1
S::a = a; // option 2
}
int a;
};
Run Code Online (Sandbox Code Playgroud)
选项1是否等同于选项2?是否存在一种形式比另一种形式更好的情况?标准的哪个条款描述了这些选项?