tr1::unique_ptr 和 SelectObject()
我有一些管理异常安全的原始代码,如下所示: void foo() { HDC hdc = //get an HDC HBITMAP hbitmap = //get an HBITMAP HGDIOBJ hbitmapOld = Selec…
共享指针:指针到指针
通用指针允许您创建指向指针的指针: void foo(Object **o) {} int main() { Object * o = new Object(); foo(&o); } shared_ptr 是否有类似的构造? …
scoped_ptr和shared_ptr可以混合使用吗?
想象一下,我在方法/函数的堆上创建了 Foo 的实例,并将其传递给调用者。我会使用什么样的智能指针? smartptr new_foo() { smartptr foo = new Foo()…
enable_shared_from_this 和堆栈上的对象
有没有办法防止对堆栈分配的对象调用shared_from_this()? 该enable_shared_from_this<>基类列表中的内容对于类用户来说是一个强有力的指标,但是有没…
在 C++ 中将智能指针放入类数据(作为类成员)中的正确方法是什么?
假设我有一个类 Boda: class Boda { ... }; 并且我在这个类中有一个成员 cydo,我希望它成为一个智能指针(也就是说,我希望它在类被销毁时自动释放…
是否可以使用 C++智能指针与C的malloc一起使用?
我的一些代码仍然使用 malloc 而不是 new。原因是因为我害怕使用 new 因为它会抛出异常,而不是返回 NULL,我可以轻松检查。将每次调用 new 包装在 tr…
std::auto_ptr 到 std::unique_ptr
随着新标准的到来(以及某些编译器中已经可用的部分),新类型 std::unique_ptr 应该是 std::auto_ptr 的替代品。 它们的用法是否完全重叠(这样我可…
Boost shared_ptr:如何使用自定义删除器和分配器
自由函数allocate_shared可以与任何符合标准的分配器一起使用。但是shared_ptr的构造函数和reset方法呢? template shared_ptr(Y * p, D d, A a); tem…
句柄和智能指针一样吗?
我即将完成 Koenig & Moo 的 Accelerated C++ 以及第 13 章和第 15 章14 他们列出了一些 Handle 类的想法和实现(简单、共享、引用计数)。 这些类封…
什么时候适合使用 C++ GUI 中的智能指针(带有主循环的程序)
我倾向于使用 std::tr1::shared_ptr 在我的 GUI 程序中自动管理指向实用程序类的指针。 基本上,这是程序的骨架: int main () { Allocate dynamic me…
除了 Boost 之外,我在哪里可以获得 C++ 的单文件智能指针实现?
我想开始在我的代码中使用智能指针,但我真的不想使用 Boost,因为它太大了。 谁能推荐一种简单的单文件智能指针实现? 谢谢,博达·西多。…