<分区>
Possible Duplicate:
C++ using this pointer in constructors
如题,我可以做类似下面的代码吗?
class A;
class B {
public:
B(A* p);
...
};
class A {
B m;
public:
A():m(this){}
~A(){}
};
<分区>
Possible Duplicate:
C++ using this pointer in constructors
如题,我可以做类似下面的代码吗?
class A;
class B {
public:
B(A* p);
...
};
class A {
B m;
public:
A():m(this){}
~A(){}
};
最佳答案
是的,您可以将指针传递给当前正在构建的对象。但是您必须记住,该对象尚未完全构建。所以基本上 B 在它的 c'tor 中可以做的是存储指针供以后使用。
一个经常使用的例子是 std::stream 和流缓冲区。
关于c++ - 我们可以在构造函数中使用 'this' 指针吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12071147/