たとえば、これは次のいずれかですか
- 悪い習慣
- 読めない
- 非効率的 (
this
ポインターの呼び出し) - これを行うのが悪い他の理由
.
class Person {
public:
string name;
Person(string name) {
this->name = name;
}
};
PS
どうですかPerson(string name) : name(name) { }
たとえば、これは次のいずれかですか
this
ポインターの呼び出し).
class Person {
public:
string name;
Person(string name) {
this->name = name;
}
};
PS
どうですかPerson(string name) : name(name) { }
私が考えることができる唯一の問題(実際の問題ではない) はmember variable
、local variable
またはで区別できないことですfunction parameter
。それは単なるコーディング スタイルであり、効率とは関係ありませんが、 について話すときUnreadable
、それは私にとってイエスです。
私にとっては、通常、末尾にアンダースコアを付けてクラスメンバー変数に名前を付けます。これにより、コードが読みやすくなり、メンテナンスが容易になります。
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
{
}
};