将智能指针传递给函数(接受 void*)而不调用指针对象的析构函数
我有自己的智能指针实现,它使用引用计数作为所有权机制(注意:我已经测试过它并且没有错误)。 以下是我的代码流程。 创建对象并创建指向该对象的智…
C++ “智能指针”自动转换为裸指针但无法显式删除的模板
我正在一个非常大的遗留 C++ 代码库中工作,该代码库将保持匿名。作为遗留代码库,它在各处传递原始指针。但我们正在逐渐尝试使其现代化,因此也有一…
为什么我不能将 unique_ptr 推回到向量中?
这个程序有什么问题吗? #include #include int main() { std::vector> vec; int x(1); std::unique_ptr ptr2x(&x); vec.push_back(ptr2x); //This ti…
CComPtr 销毁期间出现异常
我有一个声明为 CComPtr m_spXMLDoc; XML 文档的成员变量是这样创建的 CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, IID_IXMLDO…
关于 auto_ptr::reset 的问题
请任何人解释一下来自 C++ 参考站点的这段代码: #include #include using namespace std; int main () { auto_ptr p; p.reset (new int); *p=5; cout…
C++0x unique_ptr 取代了scoped_ptr 取得所有权?
我曾经写过这样的代码: class P {}; class Q: public P {}; class A { // takes ownership A(P* p): p_(p) {} scoped_ptr p_; }; A a(new Q); 使用C+…
intrusive_ptr:为什么不提供公共基类?
boost::intrusive_ptr 需要 intrusive_ptr_add_ref 和 intrusive_ptr_release 待定义。为什么不提供可以执行此操作的基类?这里有一个例子: http://l…
CComPtr CoCreateInstance 返回 0x80070582(类已存在。)
我有一个 StartComObjects 函数,当用户按下“登录”按钮时调用,一个 StopComObjects 函数,当用户按下“取消”按钮时调用。 StartComObjects 函数使…
C++非对象类型的智能指针?
我正在尝试使用智能指针,例如 auto_ptr、shared_ptr。但是,我不知道在这种情况下如何使用它。 CvMemStorage *storage = cvCreateMemStorage(); ... …
如何将 boost::shared_ptr (或另一个智能指针)附加到对象父对象的引用计数器?
我记得以前遇到过这个概念,但现在在谷歌中找不到它。 如果我有一个 A 类型的对象,它直接嵌入一个 B 类型的对象: class A { B b; }; 我怎样才能有一…
指向 COM 对象的成员变量指针
在 C++ 中保留对 COM 对象的成员变量指针引用并在整个类中重用该引用是否存在任何问题? 有人知道为什么每次想要使用 COM 对象时都想要调用 .CreateIn…