0

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

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

它在启用 0x 的 VC11 中运行良好,但我不确定它是否适用于其他编译器,因为this在实例化期间可能不一定会引用相应的“this-will-being”对象。有人可以通过在这里演示所有分配来指定初始化列表的语义吗?是标准的还是不标准的?

4

1 回答 1

0

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

于 2013-06-12T03:41:06.363 回答