c – 参数的名称与成员变量的名称相同是不是很难?

前端之家收集整理的这篇文章主要介绍了c – 参数的名称与成员变量的名称相同是不是很难?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > 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
        {
        }

};

猜你在找的C&C++相关文章