读书人

this指针有关问题

发布时间: 2012-03-17 19:06:28 作者: rapoo

this指针问题
我在构造函数成员初始列表中想传个该类的指针怎么办?

CA():m_par(this) //this不可以,因为还没构造出来,有什么替代的办法?
{
}

[解决办法]
构造之后,改用SetThisPtr()成员函数来做。
[解决办法]
忘记删东西了,这个为准

C/C++ code
CA(){    m_par = this;}
[解决办法]
那就构造后使用
[解决办法]
可以测试下:
C/C++ code
#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指向的东西还没初始化结束。
如果你真的只需要这个指针值,没问题,就这么用就可以了。
[解决办法]
探讨
//this不可以,因为还没构造出来,有什么替代的办法?
this作为一个指针值,它已经初始化好了,但是this指向的东西还没初始化结束。
如果你真的只需要这个指针值,没问题,就这么用就可以了。

读书人网 >C++

热点推荐