[C ++]类持有成员引用自身的初始化

时间:2013-06-12 03:30:08

标签: c++

我很好奇一个成语,或者说类的技术来保存成员对自身实例的引用,如下所示

class A
{
public:
    A & instance;
public:
    A():instance(*this){}
};

在启用了0x的VC11中工作正常,但我不确定它对其他编译器是否有效,因为this可能不一定会引用相应的“this-will-being”对象在实体化过程中的那一刻。有人可以通过在这里演示所有作业来指定初始化列表的语义吗?是标准还是不标准?

1 个答案:

答案 0 :(得分:0)

如果你想要一个自己的共享指针,你可以使用Boost的enable_shared_from_this。我不知道是否有一种简单的标准方法来完成同样的事情,但它只是一个模板,所以你可以想象在没有Boost的情况下做同样的事情。

相关问题