C++编程时是否有“成员变量全部显式使用 this”的代码风格?
上次阅读 /修改别人代码的时候看到一个类,里面有类似于 int out[100]; 这种成员变量,在函数里直接访问也是用 out[0] = 123; 这种风格。
我第一眼以为这个 out 是函数的局部变量,是在最后返回值时用的。(其命名也很有迷惑性)结果后来才发现是类的成员变量。
最近写 Python 比较多,在 Python 里面,所有成员变量都会强制用 self.out 这种形式,看代码的时候可以很快看出是哪一种变量。(也许因为 Python 不需要显式声明变量,只有这样才能区别吧)
于是就产生了这个想法,即 C++ 中所有成员变量的访问都用 this->xxx 的形式,而不是直接用 xxx。
我有这些问题:
- 是否有必要这么做 /这么做是否有确实的好处?
- 是否有某些“C++代码风格指导性文件”提倡这么做?
- 是否有某些(比较出名的)开源代码这么做?
- 是否有程序可以自动化“将源代码中所有成员变量的直接访问全部改为
this->xxx”这一操作?或者在不用this直接访问时发出警告?
还请大家分享一下自己的见解。