腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
unique_ptr
正在
调用
析
构
函数
两次
、
、
我在使用
unique_ptr
的地方有一段代码。<< msg << std::endl;}; auto p = std::make_unique<Abc>(Abc(__func__));但是
析
构
函数
被
调用
了
两次
有没有办法让它只
调用
析
构
函数
一次?
浏览 32
提问于2021-06-07
得票数 1
回答已采纳
1
回答
指向STL容器的指针是否安全?
、
、
、
如果我将
unique_ptr
指向一个STL容器的实例,情况如下?这密码安全吗?
unique_ptr
< vector<int> > p1( new vector<int> ); 这不是会导致
两次
调用
vector<int>的
析
构
函数
吗?因为vector<int>本身和
unique_ptr
都试图清理vector<int>到目前为止获得的内存?这会导致不明确的行为吗?或者编译器不知何故知道
浏览 4
提问于2015-10-13
得票数 4
回答已采纳
1
回答
当
析
构
函数
是私有的时,我应该如何在c++11中使用唯一指针?
、
我管理的类的
析
构
函数
是私有的,因为对象必须被赋值到堆中。 std::
unique_ptr
<A> a(new A());在这种情况下,在不公开
析
构
函数
的情况下该如何处理呢?
浏览 8
提问于2017-03-07
得票数 2
回答已采纳
3
回答
如何使用父类型的智能指针
调用
子类的
析
构
函数
?
、
在我的应用程序中,我曾经有一个
unique_ptr
<parent> _member作为自定义类的成员。密码很好用。但是,当我最近尝试创建从parent类继承的另一个类,并在构造
函数
中使用_member =
unique_ptr
<child>(new child())初始化_member时,我意识到当自定义类被销毁时,_member的
析
构
函数
只
调用
父
析
构
函数
,而现在
调用
子<em
浏览 7
提问于2014-06-30
得票数 0
回答已采纳
1
回答
尽管使用静态
unique_ptr
调用
析
构
函数
,但内存泄漏
、
、
、
我使用
unique_ptr
作为静态数据成员来保存指针。int i; { }{};在程序终止时,S::te被销毁,它
调用
浏览 3
提问于2013-11-21
得票数 4
回答已采纳
1
回答
进程终止时智能指针的行为
、
、
、
我
正在
使用std::
unique_ptr
来管理一些内存。当我的进程正常退出时,这是正确的,因为我可以看到
调用
了相关的构造
函数
和
析
构
函数
。但是,当进程被SIGTERM杀死时,我没有看到
正在
调用
析
构
函数
。当进程通过信号终止时,这是std::
unique_ptr
的预期行为吗?有什么办法可以绕过这件事吗?提前感谢!
浏览 1
提问于2017-02-17
得票数 1
回答已采纳
1
回答
std::
unique_ptr
和std::shared_ptr在销毁行为上的区别是什么?
、
来自 如果T是某个基B的派生类(sic),则std::
unique_ptr
<T>隐式可转换为std::
unique_ptr
<B>。结果std::
unique_ptr
<B>的默认删除器将对B使用运算符delete,除非B的
析
构
函数
是虚拟的,否则将导致未定义的行为。注意,std::shared_ptr的行为不同:std::shared_ptr<B>将对T类型使用操作符delete,即使B的
析
构
函数<
浏览 3
提问于2015-02-19
得票数 7
回答已采纳
1
回答
为受保护的虚拟
析
构
函数
基类重置
unique_ptr
基类具有一个虚拟受保护的
析
构
函数
。变量声明为std::
unique_ptr
<Base> member,然后根据条件使用std::make_unique<A>或std::make_unique<B>。我
正在
调用
member.reset(),但是由于
析
构
函数
被声明为受保护,所以会得到一个编译器错误。但我不明白的是,为什么编译器不能
调用
正确的
析
构
<em
浏览 7
提问于2022-09-14
得票数 0
2
回答
std::
unique_ptr
析
构
函数
构造器顺序
、
我想知道当我将新的
unique_ptr
分配给以前的
unique_ptr
时,会发生什么。在以下代码中:............我期望当我第二次分配一个新的std::
unique_ptr
进行
浏览 0
提问于2018-07-28
得票数 3
回答已采纳
2
回答
静态
unique_ptr
调用
析
构
函数
两次
、
、
、
、
我使用单例模式,它返回对
unique_ptr
取消引用的引用。这是密码,#include <memory>using std::
unique_ptr
;<< "Lazy::~Lazy() " << this << endl; } { static
uniq
浏览 3
提问于2016-03-26
得票数 6
回答已采纳
1
回答
如何对对象进行异步销毁并立即分配一个新对象
、
A对象,它包含一些
正在
运行的线程。此删除不尊重
正在
运行的线程。被解构之前优雅地停止,因为类的
析
构
函数
在其成员的
析
构
函数
之前被
调用
。当第二行到达时,a = A();,我认为会
调用
a的
析
构
函数
,我们必须等待所有线程被销毁(这可能需要时间),然后分配一个新的A。我考虑过使用std::异步
调用
析
构
函数
浏览 0
提问于2019-08-26
得票数 0
2
回答
unique_ptr
会自己
调用
析
构
函数
吗?
假设我有一个指向类对象的
unique_ptr
和一个普通的
析
构
函数
。 我的main只是创建指针和它所指向的对象。如果我不做其他事情,它会
调用
析
构
函数
吗?它是不是像一个“new”指针一样,除非你输入delete,否则不会
调用
析
构
函数
?
浏览 275
提问于2021-01-27
得票数 0
2
回答
非多态派生类的
unique_ptr
与C++20破坏操作符删除
、
、
、
C++20破坏操作符的新特性,允许“挂钩”对
析
构
函数
的
调用
,并将其“替换”为我们自己的操作(例如,理论上
调用
派生类的适当
析
构
函数
)。是否可以使用销毁操作符删除,允许
unique_ptr
<A>保存指向A的实际非多态性派生类的指针(即在A中没有虚拟
析
构
函数
),而不需要自定义删除器。
浏览 2
提问于2020-09-18
得票数 1
回答已采纳
3
回答
unique_ptr
和可
调用
对象以释放其对象
*p)\n";delete p;}; }; { }}~A~A
浏览 25
提问于2017-06-25
得票数 0
3
回答
C++销毁顺序:在类
析
构
函数
之前
调用
字段
析
构
函数
、
、
有方法在类
析
构
函数
之前
调用
字段
析
构
函数
吗?<< "Big destructor" << std::endl;} Small small;{}Big destructor
浏览 5
提问于2017-07-26
得票数 6
回答已采纳
2
回答
Unique_ptr
和转发声明
、
<Foo> foo;error C2338: can't delete an incomplete type 因此,我关注了一篇关于如何避免这个错误的this文章,并将A的
析
构
函数
移到了它自己的文件中,在这个文件中我也包含了Foo: "A.cpp“ #include "A.h" { A
浏览 2
提问于2014-12-07
得票数 16
2
回答
返回在循环中创建的变量会导致
析
构
函数
被
调用
两次
、
、
我
正在
尝试理解C++标准对从
函数
返回对象时应该如何/何时
调用
析
构
函数
有什么规定-考虑下面这个简单的结构和两个
函数
: #include <iostream>struct fooif (i == 5) } bar(); return 0; } 我
正在
尝试跟踪
析
构<
浏览 27
提问于2020-04-27
得票数 1
回答已采纳
3
回答
在销毁派生类之前清理基类的资源
、
} if(running_thread_)看起来,start()是在TestRunner的
析
构
函数
之后
调用
的对Runnable()的
析
构</e
浏览 0
提问于2021-07-08
得票数 2
回答已采纳
1
回答
空的唯一指针在离开作用域时
调用
析
构
函数
、
我的代码看起来像这样: std::
unique_ptr
<MyClass> getMyClassPtr(int a = 0, char b = 'a', double c = 1.1) std::
unique_ptr
<MyClass> ptr = std::make_unique<MyClass>(MyClass(a, b, c));} << pMyClass-
浏览 19
提问于2019-03-29
得票数 0
2
回答
unique_ptr
模板实例化与pimpl成语
、
、
、
、
如果你有这样一个类 Something(); class Impl;};注意事项以下是为了澄清我上面的问题。 当编译器检查类Something的定义时,我就是这么想的。它将看到嵌套类Impl的声明,然后它将看到<
浏览 2
提问于2017-04-13
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
当对象释放时,避免析构函数调用两次
比较 上下文管理器及构造/析构函数
第二部分:关于析构函数何时执行
【C#】-C#Dispose模式详细分析
笔记四十九:C+中的浅拷贝
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券