34得票1回答
使用enable_shared_from_this与多重继承

我在我的代码中使用了enable_shared_from_this,但我不确定它的使用是否正确。这是我的代码:class A: public std::enable_shared_from_this<A> { public: void foo1() { ...

32得票2回答
共享指针和弱引用指针失败的琐碎情况

我在使用shared_ptr和weak_ptr以及enable_shared_from_this时遇到了问题。 当我搜索我看到的症状时,每个人都建议“当没有shared_ptr实例拥有您的对象时,您不能使用shared_from_this()。 但这不是我的情况。 考虑以下代码: #i...

24得票4回答
std::enable_shared_from_this;公有 vs 私有

我正在使用shared_ptr和enable_shared_from_this玩耍,但遇到了一些不太理解的问题。 在我的第一次尝试中,我构造了这样一个对象: class shared_test : std::enable_shared_from_this<shared_test&gt...

22得票3回答
何时应该使用std::enable_shared_from_this?

我刚刚从这个链接了解到std::enable_shared_from_this。 但是在阅读下面的代码之后,我不知道什么时候该使用它。try { Good not_so_good; std::shared_ptr<Good> gp1 = not_so...

14得票3回答
Boost shared_from_this 和多重继承

在使用 boost 的 enable_shared_from_this 和多重继承时,我遇到了一些问题。 场景可以描述如下: 类 A 实现了一些功能,并应该从 enable_shared_from_this 继承 类 B 实现了另一个功能,并应该从 enable_shared_from_...

11得票3回答
双重继承 enable_shared_from_this

我有一个对象(Z),它派生自另外两个对象(A和B)。 A和B都分别从 enable_shared_from_this<> 派生,分别是 enable_shared_from_this<A> 和 enable_shared_from_this<B>。 当然...

10得票3回答
为什么enable_shared_from_this嵌入弱指针而不是直接嵌入引用计数器?

enable_shared_from_this 辅助类包含一个弱指针,当创建指向该对象的共享指针时,该弱指针将被设置。这意味着对象有参考计数(使用 make_shared 单独或与对象一起分配)和额外一个 weak_ptr。 那么为什么它不仅包含参考计数呢?当从裸指针设置 shared_pt...

8得票3回答
必须将enable_shared_from_this作为第一个基类吗?

我的类从多个基类继承,其中之一是std::enable_shared_from_this。它必须是第一个基类吗? 假设下面的示例代码: struct A { ~A(); }; struct B { ~B(); }; struct C : A, B, std::enable_shared_f...

7得票2回答
同一enable_shared_from_this实例的两个shared_ptr

考虑到这个类是enable_shared_from_this, class connection : public std::enable_shared_from_this<connection> { //... }; 假设我使用以下方式从相同的 connection*...

7得票2回答
当基类和派生类都继承自boost::enable_shared_from_this时,出现了bad weak pointer。

我有一个基类,它派生自boost::enable_shared_from_this,还有另一个类,它同时派生自基类和boost::enable_shared_from_this: #include <boost/enable_shared_from_this.hpp> #incl...