悬空指针...除了 std::weak_ptr 之外还有其他解决方案吗?
这比问题更令人沮丧,但仍然是。 几天前,我发现自己在计划中遇到了一个大问题。我会尝试并简要介绍遇到的情况。我的计划是每次发布某个键,假设空间…
feek_ptr到singleton而不是线程安全
我正在编写将共享_ptr返回单例的函数。我希望当所有参考文献消失时,单身对象都会被摧毁。我的解决方案以使用静态 feek_ptr 和 mutex ,但是我对其线…
如何使用weak_ptr构造一个保存对父级的引用的对象?
假设我有一个对象,其中包含子对象的shared_ptr。 我希望子对象对父对象有一个weak_ptr,子对象的构造函数应该是什么样子以及如何从父对象构造子对象…
提升shared_from_this和析构函数
我发现不允许在类的析构函数中调用shared_from_this: https:// svn.boost.org/trac/boost/ticket/147 此行为是设计使然。由于析构函数会销毁该对象,…
c++: std::tr1::shared_ptr 来自此
我有以下代码: #include class Foo; typedef std::tr1::shared_ptr pFoo_t; class DoSomething { public: static void doSomething( pFoo_t p) { pri…
MVP设计模式的STL实现
我正在尝试使用 STL 实现 MVP 模式,并且在具有重复引用时使用 *shared_ptr* 和 *weak_ptr* 来“打破循环”。 class i_model; class i_view; class i_…
weak_ptr 奇怪的复制构造函数
以下是weak_ptr的2个构造函数: http://msdn.microsoft.com/en-us/library/bb982126.aspx weak_ptr(const weak_ptr&); template weak_ptr(const weak_…
static_pointer_cast 为weak_ptr
在c++0x中,std::shared_ptr有一个std::static_pointer_cast,但std::weak_ptr没有等效的方法。这是故意的,还是疏忽?如果存在疏忽,我将如何定义适…
weak_ptr 是如何工作的?
我了解如何使用 weak_ptr 和 shared_ptr。通过计算其对象中的引用数量,我了解了 shared_ptr 的工作原理。 weak_ptr 是如何工作的?我尝试阅读 boost …
std::boost::weak_ptr 集- 将 const_iterator 转换为 const T?
我有一个包含 boost::weak_ptr 的 std::set 的类。我有两个函数 begin() 和 end(),它们将迭代器返回到容器。但是,我不希望客户端能够修改 T。简单地…
C++ boost::shared_ptr & boost::weak_ptr &动态转换
我有这样的事情: enum EFood{ eMeat, eFruit }; class Food{ }; class Meat: public Food{ void someMeatFunction(); }; class Fruit: public Food{ …
为什么在 C++0x 中没有为 std::weak_ptr 定义 std::hash ?
阅读关于运算符<的讨论后对于 std::weak_ptr,我看不出有任何理由定义 std::hash 以使用 std::weak_ptr 的控制块不起作用。我也不敢相信标准委员会忽…
构造函数中指向 this 的弱指针
我知道不可能通过从类的构造函数调用shared_from_this()来获取shared_ptr,因为对象尚未构造。但是是否可以从构造函数中获取对象的weak_ptr?一些讨论…