为什么我无法从函数返回 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)…
当来自“新”的指针出现时,如何跟踪情况?表达式传递给dynamic_cast?
最近我在查看一些旧代码时发现了以下内容: auto_ptr pointer = dynamic_cast( new CDerived() ); 除了这个代码在有效情况下毫无意义之外(在有效情况…
防止 C++ 中的标头爆炸(或 C++0x)
假设具有如下所示的通用代码: y.hpp: #ifndef Y_HPP #define Y_HPP // LOTS OF FILES INCLUDED template class Y { public: T z; // LOTS OF STUFF H…
是否有 C++/CLI 智能指针项目(例如scoped_ptr)?
是否有 C++/CLI RAII 智能指针类用于在托管类型中包含本机指针?只是想知道,在我编写自己的 clr_scoped_ptr 值类模板之前。 我知道 Microsoft 提供的…