当来自“新”的指针出现时,如何跟踪情况?表达式传递给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 提供的…
我自己的智能指针模板编译错误
我正在执行斯科特·迈耶斯书中的以下简单程序。我正在使用 Visual studio 2009 进行编译。 #include #include #include using namespace std; class To…
避免在没有原始指针的情况下复制映射的键
每次在键为 std::string 的 std::map 中插入一对时,它都会生成两个副本。您可以避免使用原始指针,但它是异常不安全的。有没有办法使用智能指针而不…
在带有模板构造函数的类中使用智能指针的 Pimpl:奇怪的不完整类型问题
当将智能指针与 pImpl 习惯用法一起使用时, struct Foo { private: struct Impl; boost::scoped_ptr pImpl; }; 明显的问题是 Foo::Impl 在生成 Foo …
Boost 智能指针和非 POD 类型 (C++)
在使用智能指针进行练习并了解它们如何通过 RAII 防止内存泄漏并帮助内存管理时,我做了以下事情: #include #include #include using std::cout; usi…
将指针容器转换为智能指针?
是否有一种简洁、通用的方法来将常规/哑指针的 std 容器(例如 vector)转换 vector 为例如 boost::shared_ptr?: vector > 我以为我可以使用 vector …