将不相关的数据存储在指针的最低有效位中可以可靠地工作吗?
让我先说一下,我知道我将要提出的建议是一个致命的罪过,而且我可能会因为考虑它而在编程地狱中被烧死。 也就是说,我仍然有兴趣知道是否有任何原因…
Qt 智能指针相当于 Boost::shared_ptr ?
我在之前的项目中使用过 Boost::shared_ptr ,现在我想在 Qt 中找到一个智能指针来完成相同/相似的事情。 由于 Qt 中有许多智能指针类,我想知道该使…
取消引用 std::tr1:shared_ptr 与取消引用裸指针有什么不同吗?
我意识到创建、分配、复制和销毁 std::tr1::shared_ptr 或 boost::shared_ptr (由于引用计数机制)会对性能造成(有时很严重)影响。一旦构造完毕,…
来自 this 的侵入性指针
如何将 this 指针传递给需要 intrusive_ptr 的方法(例如来自 boost 的方法)?对于shared_ptrs,有enable_shared_from_this。…
C++ 中的智能指针
假设我们有一个基类和一个派生类。所以: class base { protected: ~base(){ //... } // ... }; class derived : public base { // ... }; 现在假设我…
为什么我无法从函数返回 Boost::Scoped_ptr?
所以我尝试围绕 boost.extension 函数创建一些包装器来创建类。所以我创建了一个函数: template boost::scoped_ptr get_class (shared_library & lib…
这是 intrusive_ptr 的有效使用吗?
在我的代码中,当涉及到 intrusive_ptr 时,我遵循两条规则: 按值传递原始指针意味着保证原始指针在该函数的生命周期内有效。 如果要在函数的生命周…
Boost Shared_ptr:使用unique()实现写时复制
有人可以解释一下 boost shared_ptr 手册 的含义吗: 如果你使用unique()来实现 写时复制,不依赖 存储指针时的特定值 为零。 谢谢。…
使用自定义删除器增强scoped_ptr/scoped_array
我不知道如何让 scoped_ptr 或 scoped_array 使用自定义删除器。也许还有另一种实现允许类似于 shared_ptr 的受控删除? 顺便说一句,为什么 shared_p…
QScopedArrayPointer 保护我的数据,但它仍然泄漏
#include #include #include class MyData{ public: MyData() { qDebug() << "Construct a data"; } ~MyData() { qDebug() << "Delete a data"; } pri…
删除指向不完整类型和智能指针的指针
当尝试使用带有前向声明的类型的 auto_ptr 时,如下所示: class A; ... std::auto_ptr a; A 的析构函数未被调用(显然,因为 auto_ptr 内部删除底层…
Boost智能指针:我可以用更简洁的方式表达它吗?
今天我一直在使用 Boost::shared_ptr,我有一个问题。 vector > vec; vec.push_back(shared_ptr(new KlasaB)); vec.push_back(shared_ptr(new KlasaC)…