我想知道在c ++中使用'this'引用类成员而不是不使用它有什么优势?
例如...
class Test
{
public:
Test();
void print_test()
{
std::cout << this -> m_x // Using 'this'
<< endl;
std::cout << m_x // Rather than referencing 'm_x' this way
<< endl;
}
private:
int m_x;
int m_y;
};
Run Code Online (Sandbox Code Playgroud)
不,没有性能差异.对于编译器,含义是相同的.
好吧,差不多......你唯一需要说的this就是你在内部范围内有一个同名的变量来影响成员变量(无论如何都被认为是坏形式),或者你有模板的有趣情况基类,你需要告诉编译器一个名称引用基类成员(虽然这很少见).