C++删除具有有效地址的指针
我正在使用 Poco C++ 库并导致奇怪的问题。 Poco 使用自己的共享指针类 SharedPtr 进行内部指针操作。在我的例子中,静态对象 Poco::SSLManager 具有…
C++如何将此类实例的 boost 共享指针传递给嵌套类对象?
所以我们有(伪代码): class A { A(shared_ptr parent){} } class B { A *a; B() { a = new A(boost::shared_ptr(this)); } } 是否可以在 C++ 中使…
理解shared_ptr时出现问题
我有一个: template struct Node { node_ptr parent_;//node_ptr is a shared_ptr> node_ptr& get_parent()const { return parent_; } void set_pare…
C++ shared_ptr 并从类中读取
我在从几个对象之间共享文件指针的文件中进行简单读取时遇到问题(它仅适用于简单的 istream,但不适用于我使用 istream 指针的共享指针)。 我试图将…
boost::make_shared(...) 无法编译,shared_ptr(new T(...)) 可以编译
使用 boost::make_shared(...) 时,我在 g++4.6 和 boost 1.42 中遇到编译错误,而 shared_ptr(new T(... )) 编译得很好。不幸的是,我无法隔离一个最…
unique_ptr和shared_ptr之间的区别
可能的重复: pimpl:shared_ptr 或 unique_ptr 智能指针(boost)解释 有人可以解释shared_ptr和unique_ptr之间的区别吗?…
为什么make_shared的大小是两个指针?
如此处代码所示,make_shared返回的对象的大小是两个指针。 但是,为什么 make_shared 不能像下面这样工作(假设 T 是我们要创建共享指针的类型): m…
如何向下转换 std::shared_ptr?
考虑一下:( struct SomethingThatsABase { virtual bool IsChildOne() const { return false; } virtual bool IsChildTwo() const { return false; …
为什么要使用其中之一:`boost::shared_array` VS `boost::shared_ptr`?
因此,要处理图像或类似图像的大块内存,显然有很多选择。 因为我是智能指针和 RAII 的粉丝,所以我想知道使用 : a shared_ptr 到 std::vector 或 使…
从托管代码包含时未定义shared_ptr
我正在尝试围绕非托管 C++ 静态库编写托管包装器 (C++/CLI),但遇到两个问题: 非托管库在其标头中使用 std::shared_ptr 。包含 ,并且标头作为非托管…
C++ shared_ptr继承内存泄漏
我遇到的情况是,我有一个子类的基类的shared_ptr。 当shared_ptr去删除指针时,只有父析构函数被调用。 父母的析构函数是虚拟的,孩子的不是,尽管我…
如果您总是将其存储在shared_ptr中,您的接口是否需要虚拟析构函数?
由于 boost::/std::shared_ptr 具有类型擦除其删除器的优势,因此您可以做一些不错的事情,例如 #include typedef std::shared_ptr gc_ptr; int main(…
BOOST_FOREACH 迭代 boost::shared_ptr;
我正在做与此项目类似的事情 正确的 BOOST_FOREACH 用法? 但是,我返回的列表已包装在 boost::shared_ptr 中。如果我没有在 BOOST_FOREACH 循环之前…