腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
为
std
::
unique_ptr
节省
内存
的
自定义
删除
器
?
、
、
、
问题是:因为该值是通过malloc()分配
的
std
::
unique_ptr
<char,
std
::function<void(void*)>> pt
浏览 22
提问于2017-07-27
得票数 14
2
回答
std
::
unique_ptr
与异常安全
、
、
我是否需要在应该是异常安全
的
代码中使用
std
::
unique_ptr
使用try/catch?
std
::
unique_ptr
将保存由::malloc创建
的
原始
内存
块(使用我
的
自定义
删除
器
来调用::free)。
浏览 2
提问于2016-05-31
得票数 5
回答已采纳
2
回答
unique_ptr
::deleter_type::pointer是用来做什么
的
?
、
、
指定
std
::
unique_ptr
<T,D>存储
的
不是您所期望
的
T*,而是
std
::
unique_ptr
<T,D>::pointer类型
的
对象。如果存在这样
的
类型,则将其定义
为
基本上
为
D::pointer,否则定义
为
T*。因此,您可以通过适当地
自定义
您
的
删除
器
来
自定义
基础原始指针类型。
浏览 0
提问于2014-02-08
得票数 7
3
回答
使用在另一个函数中分配
内存
的
共享指针
、
我有一些遗留时代
的
代码在工作,接受一个双指针,并分配
内存
给它。但是,我希望使这个函数
的
使用更加安全,避免任何可能因异常而发生
的
内存
泄漏&tc。我提出
的
第一个解决方案是将其封装在一个类中,并处理调用ctor/dtor中
的
遗留函数。::move(that)}; return *this; ~RAIIWrapper (){
浏览 6
提问于2013-12-19
得票数 6
回答已采纳
1
回答
如何将没有
自定义
删除
器
的
unique_ptr
移动到另一个具有
自定义
删除
器
的
unique_ptr
?
、
、
struct StructDeleter { delete ptr;};
std
::
unique_ptr
<TestStruct> st(new TestStruct());
std
::
unique_ptr
&
浏览 9
提问于2022-08-05
得票数 0
回答已采纳
2
回答
模板类中
std
::function<>
的
使用
、
我在队列模板类下面看到,class Queue { // Data typename
std
::queue<T>::size_type size_max_;
std
::mutex mutex_;
浏览 0
提问于2019-03-29
得票数 0
回答已采纳
1
回答
std
::
unique_ptr
的
延迟初始化
、
、
我有一个带有
std
::
unique_ptr
成员
的
类,它最初被初始化为nullptr,然后分配给一个实际
的
对象。它们还使用
自定义
删除
器
。关于这个场景,我有两个问题:我是否应该使用
std
::
unique_ptr
::reset()或复制赋值操作符来
为
第一次初始化为nullptr
的
唯一指针分配一个值?class MyClass {
std
::
unique_
浏览 2
提问于2014-03-20
得票数 1
回答已采纳
3
回答
重置
std
::shared_ptr会导致重置其延迟吗?
、
、
也许我误解了c++中智能指针
的
某些方面,但在执行下面的代码之后: class clspublic: { const::cout << "deleter was called" <<
std
::endl; { obj.int_ptr.reset(new int{15}); ret
浏览 20
提问于2019-12-10
得票数 1
回答已采纳
2
回答
如何为
unique_ptr
管理
的
数组编写
自定义
删除
器
?
、
、
我正在设法
为
unique_ptr
在模板化
的
C++类中管理
的
C数组编写
自定义
删除
器
。我故意让
删除
器
什么都不做,从而使类泄漏
内存
。在完整
的
类中,一些构造函数分配
内存
,而有些则没有--而是在数据流中使用原始字节缓冲区中
的
内存
。这就是我试过
的
:{ pr
浏览 3
提问于2019-09-27
得票数 0
回答已采纳
2
回答
指向类对象
的
新指针数组
、
、
有多少是未知
的
。这就是我到目前为止所拥有的。i<m_size_in; i++){ } }编译
器
说
浏览 0
提问于2016-03-14
得票数 0
2
回答
类数据成员
的
std
::
unique_ptr
(Pimpl成语)
、
、
、
、
我试图定义使用"pimpl“数据成员使用
unique_ptr
定义
的
现有代码。有些对象需要
自定义
删除
器
,而另一些则不需要。;在实例化pimpl时,您被限制使用默认
的
删除
器
。如果您想要
自定义
删除
器
,则需要在声明中指定它。public:}; 但是,
浏览 3
提问于2015-05-06
得票数 1
回答已采纳
1
回答
使用参数较少
的
自定义
删除
器
的
std
::
unique_ptr
、
、
我想知道是否可以使用多个参数(标准
删除
签名)
为
std
::
unique_ptr
指定
自定义
删除
器
。我知道使用
std
::shared_ptr存在与
std
::bind
的
解决办法,这使它成为可能,但对于
std
::
unique_ptr
是否存在一些技巧呢?对我来说,这似乎不是因为根据 类型需求-Deleter必须是对函数
的
FunctionObject或lvalue引用
浏览 3
提问于2015-12-26
得票数 4
回答已采纳
3
回答
将可发布
的
对象包装到智能指针中
、
、
就我所理解
的
智能指针而言,它们
的
存在主要是为了避免
内存
泄漏。但是,经常有一些对象也需要发布,但不需要由free或delete发布。有什么通用
的
方法可以在模板中使用这样
的
指针吗?当然,还有其他类型
的
指针具有自己独特
的
释放功能。那么,我是否需要实现单独
的
包装来说明它们
的
单独发布方法,还是有更好
的
方法来做到这一点呢?可以这样使用
的
东西: smart_ptr<FILE, fclose> fl =
浏览 4
提问于2015-10-14
得票数 1
回答已采纳
1
回答
使用
自定义
删除
器
返回
unique_ptr
的
工厂函数
、
、
我正在创建一个帮助函数,用于加载共享库并将结果放入带有
自定义
删除
器
(这是模块销毁函数)
的
std
::
unique_ptr
中。当我不设置
自定义
删除
器
时,这很好,但是一旦我添加它们,我就会收到一个错误,说明不能推断
自定义
删除
器
的
类型(这是公平
的
)。 问题是,当我调用函数时,如果我在哪里指定
删除
类型,它将看起来非常难看。问题是,我<em
浏览 2
提问于2018-01-03
得票数 0
回答已采纳
3
回答
在
自定义
删除
器
中使用
std
::make_unique
、
、
在使用带有
自定义
删除
器
的
std
::
unique_ptr
时,我希望使用
std
::make_unique而不是原始
的
新
的
。我正在使用VC++2013。在我看来,如果您使用
的
是
自定义
删除
器
,则无法使用
std
::
unique_ptr
。我错过了什么吗?还是真的是这样?其他信息: 我使用
std
::
unique_pt
浏览 4
提问于2014-02-14
得票数 49
回答已采纳
2
回答
std
::
unique_ptr
<T[]>和
自定义
分配器
删除
器
、
、
、
、
我试图在
自定义
内存
分配器中使用
std
::
unique_ptr
<T[]>。,所以我需要特殊
的
...Array()-methods来分配和释放数组,它们分配/释放
内存
,并在范围内
的
每个元素上调用T() / ~T()。现在,据我所知,
std
::
unique_ptr
的
自定义
删除
器使用签名:在<em
浏览 3
提问于2015-02-09
得票数 12
回答已采纳
2
回答
对在运行时确定大小
的
对象使用
std
::
unique_ptr
、
、
、
PropertyTagExifDTOrig);问题是,这个分支之后
的
代码基于几个不同
的
条件因此,我想使用类似于
std
::
unique_ptr
的
东西来确保
删除
最后一行
的
指针,而不管我
的
代码分支在哪里。 但是,
std
::
unique_ptr
在这里似乎并不容易实现。它似乎
浏览 2
提问于2014-03-22
得票数 2
回答已采纳
1
回答
如何使用智能指针
为
类创建指针矩阵?
、
、
[0][0] =
std
::make_unique<Dog>(); mat[0][0]->woof(); public:void woof() {};
std
::
unique_ptr
<
std
::
unique_ptr
<
std
::
unique_ptr
<Dog>[]>[]> mat =<em
浏览 16
提问于2020-12-28
得票数 0
1
回答
为什么
unique_ptr
不阻止
自定义
删除
器
的
切片?
、
、
std
::
unique_ptr
与custom deleter
的
行为是基于
删除
者
的
静态类型。没有多态性,没有基于运行时中传递
的
实际
删除
器
的
运行时行为,因为派生
删除
器
被切片到声明
的
删除
器
的
静态类型。这与以不同方式保存
自定义
删除
器
并允许动态行为
的
std</
浏览 0
提问于2019-05-25
得票数 7
4
回答
带有
自定义
删除
器
的
std
::
unique_ptr
win32 LocalFree
、
、
、
、
我有一个win32 API CommandLineToArgvW,它返回一个LPWSTR*,并警告我 在上述情况下,释放
内存
的
C++惯用方法是什么?我在想一个带有
自定义
删除
器
<e
浏览 2
提问于2012-03-27
得票数 18
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
智能指针:让C+程序更加安全和高效的神器
实现线程安全队列——细粒度锁实现
全面理解C+指针和内存管理(一)
C+11 shared_ptr智能指针(超级详细)
基于C++从0到1手写Linux高性能网络编程框架[掌握基于GO的HTTP框架设计]
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券