腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
4
回答
为什么不删除具有C++11中未定义行为
的
析
构
函数
的
对象?
c++
、
memory-leaks
、
c++11
、
destructor
、
undefined-behavior
引用C++11标准3.8: 如果没有对
析
构
函数
的
显式调用,或者如果未使用delete-表达式(5.3.5)来释放存储,则不应隐式调用
析
构
函数
,并且由
析
构
函数
产生
的
任何依赖于ff
的
程序都具有undefined未调用
析
构
函数
的
部分是清楚
的
。现在,假设跳过
的
析
<em
浏览 5
提问于2012-04-02
得票数 10
2
回答
C++:调用临时对象
的
构造
函数
c++
、
optimization
假设我有以下内容: SomeClass();} 在没有优化
的
情况下,将调用SomeClass()构造
函数
,然后调用其
析
构
函数
,对象将不再存在然而,根据IRC通道,如果编译器认为SomeClass构造
函数
/
析
构
函数
没有副
作用
,那么构造
函数
/
析
构
函数
调用可能会被优化掉
浏览 4
提问于2011-11-28
得票数 4
回答已采纳
6
回答
如果我
的
类没有
析
构
函数
,那么GC会对它调用Finalize ()吗?
.net
、
asp.net
、
garbage-collection
如果我
的
类没有
析
构
函数
,它就会超出
作用
域。GC在某个时间运行,现在它是简单地从我
的
类中回收内存,还是调用它
的
析
构
函数
或Finalize ()?像SQLConnection这样
的
.net框架类实现
析
构
函数
了吗?我看到它有一个Dispose ()实现,但没有看到使用“转到定义”
的
析
构
函数<
浏览 1
提问于2010-04-15
得票数 0
回答已采纳
2
回答
PHP中
的
析
构
函数
是可预测
的
吗?
php
、
destructor
PHP中
的
类
析
构
函数
是可预测
的
吗?何时调用
析
构
函数
? 像在许多语言中一样,一旦对象超出
作用
域,类
析
构
函数
就会被调用吗?
浏览 0
提问于2010-07-25
得票数 7
回答已采纳
2
回答
双重结构是未定义
的
行为吗?
c++
、
object
、
c++11
、
constructor
、
lifetime
在我们
的
代码库中,使用了一个内存块池,并且在“分配”时使用“放置新”来构造对象。不过,我忽略了
析
构
函数
调用,发现允许“双重构造”很奇怪,并且不知道在同一个对象上再次调用构造
函数
是否是未定义
的
行为。在C++11 3.8.4 basic.life中,它读取 程序可以通过重用对象占用
的
存储或显式调用类类型
的
对象
的
析
构
函数
来结束任何对象
的
生存期。对于具有非平凡
析<
浏览 5
提问于2020-11-10
得票数 4
回答已采纳
4
回答
非虚拟
析
构
函数
c++
的
异常
c++
、
exception
、
virtual-destructor
当我们超出catch块
作用
域时,会调用异常
析
构
函数
吗?(万一我们不重新扔出去)...如果在超出捕获范围时应该调用异常
析
构
函数
,那么在这种情况下,将只调用基类A
的
析</
浏览 5
提问于2015-02-05
得票数 14
回答已采纳
1
回答
HTTP头和目录与php中
的
析
构
函数
有什么关系?
php
、
destructor
我知道
析
构
函数
在PHP中
的
作用
,但我想知道
的
是,HTTP头和目录与php中
的
析
构
函数
有什么关系?在脚本关闭期间调用
的
析
构
函数
已经发送了headers。脚本关闭阶段
的
工作目录可能与某些SAPI(例如Apache)不同。 在下面的参考链接中,
析
构
函数
浏览 2
提问于2017-09-11
得票数 1
4
回答
为什么我们说当对象超出
作用
域时调用
析
构
函数
?
c++
、
destructor
我了解到,当一个对象超出
作用
域时会调用
析
构
函数
,并且
析
构
函数
也会删除这些对象。好吧,但这是怎么回事? 我显式地调用
析
构
函数
,如果它删除对象,那么为什么要隐式调用
析
构
函数
?尽管现在没有对象,因为它已经被显式
析
构
函数
调用删除了。抱歉,我可能是明明白白地说错了,但试着理解我
的
问题。那么为什么要再次调
浏览 8
提问于2015-06-07
得票数 0
回答已采纳
1
回答
当
析
构
函数
是私有的时,我应该如何在c++11中使用唯一指针?
c++11
、
unique-ptr
我管理
的
类
的
析
构
函数
是私有的,因为对象必须被赋值到堆中。 std::unique_ptr<A> a(new A());在这种情况下,在不公开
析
构
函数
的
情况下该如何处理呢?
浏览 8
提问于2017-03-07
得票数 2
回答已采纳
1
回答
用户定义
的
类和std类之间有区别吗?
c++
、
oop
、
c++-standard-library
据我所知,构造
函数
/
析
构
函数
调用方式
的
唯一区别在于实例化顺序。但是,在“普通”用户类和std中
的
类之间还有其他区别吗?假设我有一个名为myStackOverflow
的
类,然后我实例化了该类
的
一个对象。在相同
的
作用
域中,我还有一个std::thread类型
的
对象。这些对象
的
构造
函数
或
析
构
函数
的<
浏览 0
提问于2017-04-06
得票数 1
3
回答
当类
的
指针实例超出
作用
域时,不调用
析
构
函数
是真的吗?
c++
、
destructor
上面的代码打印:
析
构
函数
只调用一次。我在main中声明了两个MyClass实例,其中一个是MyClass类型
的
普通变量,另一个是指向普通变量
的
相同类型
的
指针。这里不需要
析
构
函数
(不需要动态分配),但为了示例,我在类中定义了一个
析
构
函数
。因此,由于定义了两个类实例,因此应该两次调用
析
构
函数
。但当我运行这段代码时并没有发生这种情况。
浏览 0
提问于2015-10-02
得票数 0
回答已采纳
1
回答
有什么方法可以保证
析
构
函数
的
相对顺序吗?
c++
、
c++17
、
destructor
如果我有类似的东西: auto foo=Foo(Bar()) 在foo
的
构造
函数
接受对Bar
的
常量引用
的
情况下,是否有某种方法可以确保在foo
的
作用
域末尾
的
foo
的
析
构
函数
之前不会调用Bar
的
析
构
函数
,这样即使在foo
的
析
构
函数
中,对Bar
的</em
浏览 17
提问于2020-01-23
得票数 2
回答已采纳
3
回答
用
作用
域对象实现“围绕执行”
的
习惯用法是滥用
的
吗?
c++
作用
域对象(在构造
函数
和
析
构
函数
中实现
的
补充逻辑)是否应该仅用于资源清理(RAII)?不久前,我问起了。事实证明,和他提出
的
解决方案是创建一个实现operator->
的
代理对象,并在其中分配一个
作用
域对象。“之前”和“之后”分别在
作用
域对象
的
构造
函数
和
析
构
函数</e
浏览 0
提问于2011-10-27
得票数 4
回答已采纳
3
回答
直接调用(虚拟)
析
构
函数
有效吗?
c++
、
virtual-destructor
、
self-destruction
在中,Ryan直接调用虚拟
析
构
函数
。我在VS2010中测试了代码,它正确地调用了所有
析
构
函数
(使用日志语句进行了测试)。这样做真的有效吗?这样
的
方法有什么问题、缺点,甚至是优点?我只能认为这是一种真正强制重置实际类型
的
方法,即使它们不覆盖虚拟reset
函数
,因为它们至少需要在
析
构
函数
中清除。 另外,调用
析
构
函数
会带来什么样<em
浏览 7
提问于2011-05-18
得票数 7
3
回答
C++:为什么它不调用
析
构
函数
?
c++
、
class
、
destructor
我在代码中使用了额外
的
括号。我认为在局部变量
作用
域结束后应该调用
析
构
函数
,但它不是这样工作
的
:public: printf( "TestClass} int a, b, c; TestClass *test = new TestClass();} TestClass()
浏览 4
提问于2013-08-07
得票数 4
回答已采纳
1
回答
在不调用
析
构
函数
的
情况下结束STL容器
的
寿命
c++
、
c++11
、
standards-compliance
-深度解释 程序可以通过重用对象占用
的
存储或显式调用具有非平凡
析
构
函数
的
类类型对象
的
析
构
函数
来结束任何对象
的
生存期。对于具有非平凡
析
构
函数
的
类类型
的
对象,在对象占用
的
存储被重用或释放之前,程序不需要显式调用
析
构
函数
;但是,如果没有
浏览 2
提问于2014-10-11
得票数 2
回答已采纳
2
回答
在包含静态字段
的
非静态类中触发
析
构
函数
?
c#
、
asp.net
、
asp.net-mvc
我想测试一个
析
构
函数
何时在类中被调用,当它是一个简单
的
类时,每件事情都按预期进行--当我们离开实例
的
作用
域
析
构
函数
被调用时。public class HomeController : Controller /
浏览 0
提问于2019-09-14
得票数 2
回答已采纳
1
回答
为什么在基类
的
常量引用上调用派生类
的
析
构
函数
?
c++
、
inheritance
、
reference
在中,restore_base类
的
析
构
函数
不是virtual,所以我一直想知道它到底是如何工作
的
。通常情况下,你会期望restorer_base
的
析
构
函数
只在对象超出
作用
域之后执行,但看起来派生
的
restorer_holder
析
构
函数
确实被调用了。有谁愿意给我点启发吗?
浏览 9
提问于2011-02-14
得票数 8
回答已采纳
1
回答
C# -“
析
构
函数
不是继承
的
”实际上是什么意思?
c#
、
.net
、
idisposable
、
destructor
、
finalization
第10.13节
析
构
函数
规定如下: ...the
析
浏览 3
提问于2009-12-08
得票数 13
回答已采纳
1
回答
为什么虚拟类
的
析
构
函数
不自动添加到vtable中?
c++
、
polymorphism
、
virtual
、
destructor
、
vtable
当虚拟类B派生自虚拟基类A时,除非在A和B中显式声明虚拟
析
构
函数
,否则vtable中B
的
析
构
函数
将指向A
的
析
构
函数
。为什么?为什么B
的
vtable
析
构
函数
不自动指向B
的
析
构
函数
而不必定义A和B虚拟
析
构
函数
浏览 0
提问于2018-04-14
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
当对象释放时,避免析构函数调用两次
比较 上下文管理器及构造/析构函数
第二部分:关于析构函数何时执行
十九、Python的函数-作用域
python的函数(二):作用域
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券