将 smart_pointer 传递给构造函数与原始指针
假设我有一个像这样的多态类结构, class Base { //some implementation }; class Deriv: public Base { //implementation } class Case1 { boost::sc…
智能指针:运行 WinXP-Sp3 的 VS 9 中运行时崩溃
我在下面的代码中遇到运行时崩溃,并且也无法调试。请查看并让我知道发生了什么事。 // CppConsole.cpp : Defines the entry point for the console a…
像 std::vector 这样的容器中的智能指针?
我正在学习智能指针 (std::auto_ptr),只需阅读此处 和此处 智能指针 (std::auto_ptr )不应放入容器(即std::vector)中,因为即使大多数编译器也不…
有人知道有计划让 ^ 成为 shared_ptr的简写吗?
例如: shared_ptr > pp; 相当吓人...而 const int ^ const ^ pp; 立即让人想起原始指针等价 const int * const * pp;…
enable_shared_from_this 和继承
我有一个继承自 enable_shared_from_this 的类型,以及从此类型继承的另一个类型。现在我无法使用shared_from_this方法,因为它返回基类型,并且在特…
与指针共存的shared_ptr
我有一个函数如下 void a(shared_ptr val) {...} 有时,我想传入一个堆分配的对象 shared_ptr v(new X()); a(v); 其他时候,我想传入一个堆栈分配的对…
weak_ptr和父子循环依赖
我目前有类似以下内容: class Parent { //just a single child... for sake of simplicity //no other class holds a shared_ptr reference to child…
如何管理指向已引用对象内部数据的shared_ptr?
假设我有这些类: struct Engine { int engine_data; }; struct Car { shared_ptr engine; int car_data; }; 出于性能原因,我想让它们紧密地打包在内…
std::auto_ptr 的最佳实践
我刚刚习惯使用 std::auto_ptr 的智能指针。 假设我想调用一个同时具有 auto_ptr 和普通指针的函数。 auto_ptr data_smart(new uint32[123])]); uint3…
c++ 中的构图使用原始指针或智能指针?
我想做的一个小例子。 我有一个(堆栈分配的)顶点列表 class Vertex { int id; double x; double y; double z; }; ,想要创建一个边列表 class Edge …
C++:创建共享对象而不是指向对象的共享指针
boost::shared_ptr 真的很困扰我。当然,我理解这样的东西的实用性,但我希望我可以使用 shared_ptr 作为 A*。考虑以下代码 class A { public: A() {}…