可能重复:
C ++在构造函数中使用此指针
像标题一样,我可以做类似下面的代码吗?
class A;
class B {
public:
B(A* p);
...
};
class A {
B m;
public:
A():m(this){}
~A(){}
};
可能重复:
C ++在构造函数中使用此指针
像标题一样,我可以做类似下面的代码吗?
class A;
class B {
public:
B(A* p);
...
};
class A {
B m;
public:
A():m(this){}
~A(){}
};
是的,您可以传递指向当前正在构建的对象的指针。但是你必须记住,对象还没有完全构建。所以B基本上可以做的就是存储指针供以后使用。
经常使用它的一个例子是std :: stream和流缓冲区。