这个

在类的成员函数中,关键字 this 是指向调用该函数的类的实例的指针。this 不能用于静态成员函数。

struct S {
    int x;
    S& operator=(const S& other) {
        x = other.x;
        // return a reference to the object being assigned to
        return *this;
    }
};

this 的类型取决于成员函数的 cv 资格:如果 X::fconst,那么 f 中的 this 的类型是 const X*,因此 this 不能用于修改 const 成员函数内的非静态数据成员。同样,this 从它出现的函数继承了 volatile 资格。

Version >= C++ 11

this 也可以用于非静态数据成员的大括号或等于初始化程序

struct S;
struct T {
    T(const S* s);
    // ...
};
struct S {
    // ...
    T t{this};
};

this 是一个右值,因此无法分配。