auto_ptr 令人困惑的行为
#include #include #include using namespace std; class YourClass { int y; public: YourClass(int x) { y= x; } }; class MyClass { auto_ptr p; p…
增强信号 - 如何控制发送给订阅者的对象的生命周期?智能指针?
我在 Red Hat Enterprise Linux 5.3 下使用 boost::signals2。 我的信号创建一个对象副本并将其指针发送给订阅者。这是为了线程安全而实现的,以防止…
C++设计问题(需要便宜的智能指针)
我有一棵巨大的树,其中节点内的键是大 hash_map v 的索引, 其中 v[key] 是与该键关联的(大)记录(包括树中有多少个节点具有该键)。现在,key 是…
C++智能指针在自分配时泄漏?
我在理解为什么我的智能指针类在自我评估时泄漏时遇到了小问题。 如果我这样做, SmartPtr sp1(new CSine());//CSine is a class that implements IFu…
在运行时有条件地实例化模板
我有一个模板类 template class myClass { public: /* functions */ private: typename T::Indices myIndices; }; 现在在我的主代码中我想根据条件实…
如何避免shared_ptr内存泄漏?
考虑以下代码。 using boost::shared_ptr; struct B; struct A{ ~A() { std::cout << "~A" << std::endl; } shared_ptr b; }; struct B { ~B() { std:…
C++初始化列表和内存分配
以下内容有效吗? class myClass { private: ... int m_nDataLength; boost::shared_array m_pData; ... public: myClass(): ..., m_nDataLength(10),…
C++和智能指针 - 在这种情况下智能指针有何帮助?
很遗憾的是,我在实际开发中还没有机会使用智能指针(主管认为太“复杂”,浪费时间)。但是,我计划将它们用于我自己的东西... 我遇到过在模块完成后…
C++ 中的shared_ptr 和引用
C++ 中的引用是一种方便的构造,它允许我们简化以下 C 代码: f(object *p){ //do something } int main(){ object* p = (object*) calloc(sizeof(obj…
实现智能指针 - 使用模板进行动态分配
我正在编写一个智能指针 countedptr ,但遇到了障碍。 countedptr 的基本功能是像任何其他智能指针一样工作,并且还统计有多少指针指向单个对象。到目…
是否应该始终使用 boost::ptr_vector 代替 std::vector ?
这只是我遇到的一个概念性问题。在我当前的项目中,感觉我过度使用了 boost smart_ptr 和 ptr_container 库。我正在创建 boost::ptr_vectors 在许多不…