this指针问题
我在构造函数成员初始列表中想传个该类的指针怎么办?
CA():m_par(this) //this不可以,因为还没构造出来,有什么替代的办法?
{
}
[解决办法]
构造之后,改用SetThisPtr()成员函数来做。
[解决办法]
忘记删东西了,这个为准
CA(){ m_par = this;}
[解决办法]
那就构造后使用
[解决办法]
可以测试下:
#include <iostream> using namespace std;class Data { public: Data(int i = 0) : value(i), __this(this){} Data *__this; int value; }; int main() { Data d; cout<<&d<<endl<<d.__this<<endl; system("pause"); return 0; }
[解决办法]
//this不可以,因为还没构造出来,有什么替代的办法?
this作为一个指针值,它已经初始化好了,但是this指向的东西还没初始化结束。
如果你真的只需要这个指针值,没问题,就这么用就可以了。
[解决办法]