通过使用'this - >'来引用类的成员,是否有益处或性能提升?

ana*_*acy 3 c++ this-pointer

我想知道在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)

Tri*_*dle 5

不,没有性能差异.对于编译器,含义是相同的.

好吧,差不多......你唯一需要说的this就是你在内部范围内有一个同名的变量来影响成员变量(无论如何都被认为是坏形式),或者你有模板的有趣情况基类,你需要告诉编译器一个名称引用基类成员(虽然这很少见).