shared-ptr相关内容

用malloc和free shared_ptr的

我包含C和CPP大型应用程序有工作。所有文件保存为CPP扩展,但code是写在C-风格。我的意思是定义结构,而不是通过类的malloc和realloc和calloc.In最近他们已经安装Boost库分配内存,所以我打算使用到我现有的code基础,所以我有一些以下问题。 我可以使用std :: shared_ptr的使用malloc和free。 如果是的,任何人都可以指出我的样品code基? ..
发布时间:2016-08-12 17:51:17 C/C++开发

什么是Boost的shared_ptr的(shared_ptr的< Y>常量和放大器; R,T * P)用于?

的boost :: shared_ptr的有一个不寻常的构造函数 模板< Y类>的shared_ptr(shared_ptr的&所述; Y'GT;常量&放大器; R,T * P); 和我一样是什么,这将是有用的有点摸不着头脑。基本上,它的股票所有权研究,但获得()将返回 P 。 不可以 r.get()! 这意味着你可以做这样的事情: INT的main(){ 提高:: s ..
发布时间:2016-08-12 17:50:14 C/C++开发

自定义(池)分配与升压shared_ptr的

我想通过一个shared_ptr管理的对象从池中分配,说Boost的游泳池界面,如何才能实现这一目标? 解决方案 这里的code做你想要什么(可能将无法编译,因为我不手头上提升,我从写它内存): 类YourClass; //你的数据类型,定义在别处提高:: object_pool< YourClass>分配器;无效的destroy(YourClass *指针) { a ..
发布时间:2016-08-12 17:49:57 C/C++开发

找出类及其子里面的类类型

可以说我有类 模板< typename的PointT> 类父{ 上市: TYPEDEF提高:: shared_ptr的<家长和LT; PointT> > PTR; 内嵌PTR makeShared() { 返回PTR(新家长和LT; PointT>(*本)); } };模板< typename的PointT> 儿童类: ..
发布时间:2016-08-12 17:48:03 C/C++开发

未定义模板隐式实例:升压错误或锵漏洞?

我试图编译使用升压(1.49)约code,与锵(安培;的libc ++)从主干。 有问题的code归结为以下几点: 的#include<内存和GT; #包括LT&;升压/ signals2.hpp>诠释的main() { 的std :: shared_ptr的< INT> S; } 在铿锵编译时,以下消息emmited: $铛++ -I /家庭/亚历山大在/ ..
发布时间:2016-08-12 17:45:48 C/C++开发

C ++通过一个派生类shared_ptr的一个模板函数

首先东西应该工作,那么一些不。为什么它是不是这个问题。 我声明了两个类: 类基地{...}; 派生类:公共基础{...}; 然后我有以下的其他功能:无效美孚(shared_ptr的<基地以及GT;基地); 以下code应该工作吧? share_ptr<衍生GT;而得; 富(衍生); 现在,忘了上面,我宣布三类:类Foo {...}; 模板< typename的TY ..
发布时间:2016-08-12 17:44:50 C/C++开发

有通过存储控制对象内的引用计数,以增加的shared_ptr的效率的方法吗?

这是在我的code成为一个共同的模式,因为当我需要管理,需要将不可复制,因为无论答是“重”或B.它是一个操作系统资源,如一个对象一个关键的部分: 类资源;类实现:公众的boost ::不可复制 { 友元类资源; HANDLE someData; 实施(HANDLE输入):someData(输入){}; 无效SomeMethodThatActsOnHandle(){ ..
发布时间:2016-08-12 17:43:46 C/C++开发

ntdll.dll中[以下帧可能是不正确/缺失,加载ntdll.dll中没有符号]

由于现在的几个星期我遇到了这种情况,它非常不安, 我的程序调试得很好,没有任何错误,当我运行程序它的初始部分 工作,几秒钟后它终止与“破继续”选项,并在调用堆栈时,我一看,原来,它从ntdll.dll中和msvcr100d.dll错误 这似乎是一个窗口相关的SDK的问题,这似乎是一个错误的指针了。 我已经在这个不知何故没有控制权。 我安装了Windows SDK 7.0,但似乎没有任何改 ..
发布时间:2016-08-12 17:42:54 C/C++开发

包装链表中的迭代器

一组,我通常使用遵循一个链表模式的API: 结构SomeObject { 为const char * SOME_VALUE; 为const char * some_other_value; SomeObject *接下来的; }LONG GetObjectList(SomeObject **清单); 无效FreeObjectList(SomeObject *清单); ..
发布时间:2016-08-12 17:41:48 C/C++开发

的C ++ 0x错误:超载STD功能:: shared_ptr的为const的说法是模糊

假设我有两个无关类 A 和 B 。我也有一个类布拉使用的boost :: shared_ptr的是这样的: 类布拉{ 上市: 无效美孚(提高:: shared_ptr的<常量A>); 无效美孚(提高:: shared_ptr的<常量B>); } 注意在常量。这是此问题的原始版本缺乏重要组成部分。这将编译,下面code工作:喇嘛喇嘛; 提高:: shar ..
发布时间:2016-08-12 17:41:08 C/C++开发

在升压:: shared_ptr的运营商布尔旋转时()C ++挥发性要求?

可能重复:结果 当使用volatile多线程? 我有两个线程引用同一个的boost :: shared_ptr的: 的boost :: shared_ptr的<窗​​口小部件>共享; 在线程旋转,等待另一个线程重置的boost :: shared_ptr的:同时(共享) 提高::螺纹::收益率(); 在某些时候其他线程会调用: shared.reset(); ..
发布时间:2016-08-12 17:39:21 C/C++开发

矢量shared_ptr的

我现在有载体,如: 矢量< MyClass的*> MyVector; 和我Access中使用 MyVector [I] - > MyClass_Function(); 我想利用的shared_ptr 的。这是否意味着所有我需要做的就是改变我的矢量来:的typedef的shared_ptr< MyClass的*> safe_myclass矢量< saf ..
发布时间:2016-08-12 17:39:15 C/C++开发

是否确定使用boost ::共享PTR在DLL接口?

是不是有效开发C ++中的DLL返回升压共享指针,并用它们作为参数? 那么,是不是确定导出功能,这样吗? 1)提高:: shared_ptr的<连接GT&; startConnection(); 2)无效sendToConnection(提高:: shared_ptr的<连接GT&;康涅狄格州,BYTE *数据,INT LEN); 在特殊:是否跨越边界的DLL引用计数的工作或 ..
发布时间:2016-08-12 17:34:44 C/C++

为什么要使用一个VS其他:`提振:: shared_array` VS`提高:: shared_ptr的<的std ::矢量>`?

因此​​要处理的内存大斑点无论是图像或类似的明显有很多的选择。 由于我的智能指针和RAII的粉丝,我想知道它是否更聪明的去用: 在的shared_ptr 到的std ::矢量 或 去与 shared_array 指向一个动态分配的数组。 什么是概念,实用和性能选择一个VS其他的含义是什么? 解决方案 这是一样的对丙阵列比较的std ::向量。 想想 shared ..
发布时间:2016-08-12 17:33:26 C/C++开发

手动递增和递减一个boost :: shared_ptr的?

有没有办法手动递增和递减在C的shared_ptr的计数++? 这是我试图解决的问题如下。我在写C库++但接口必须处于纯C.国内,我想用的shared_ptr来简化存储管理,同时preserving通过C接口传递的原始指针的能力。 当我通过接口传递一个原始指针,我想递增引用计数。然后,客户端将负责调用将递减引用计数时,它不再需要传递的对象的功能。 解决方案 在您的建议 客户端然后 ..
发布时间:2016-08-12 17:32:42 C/C++开发

智能指针包装的处罚。记忆化用的std ::地图

我目前在一个项目中,性能是至关重要的中间。以下是一些我有问题,关于这个问题的。 问题1 我的项目涉及大量的的boost :: shared_ptr的。我知道使用上运行创建共享指针的boost :: make_shared 是缓慢的,因为有大量的开销,因为它需要跟踪references.I想知道是否已经创建助推共享指针然后就这两个语句具有相同的性能或人会比其他更快。如果经常指针速度更快,而且我已 ..
发布时间:2016-08-12 17:32:36 C/C++开发