腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
"delete“
在
多态时能正常工作
吗
?
c++
、
virtual-destructor
BaseClass * p = new DerivedClass();
我
知道
如果
没有虚拟
析
构
函数,第二行代码会调用基类
的
析
构
函数,
如果
有,它会调用派生类
的
析
构
函数,但是delete
会
正确地释放
内存
吗
(假设BaseClass
的
对象
占用
8个字节
的
空间,Der
浏览 4
提问于2013-05-11
得票数 3
回答已采纳
1
回答
如果
我
在
大多数
组件
中
使用
对象
析
构
,会
占用
更多
的
内存
吗
?
javascript
、
reactjs
、
object-destructuring
、
react-functional-component
假设
我
有这个
组件
, export default function Xyz(props) {} ... }
我
想知道,
如果
我
对每个函数
组件
的
每个方法都
使用
析
构
方法,并且
在
传统
组件
的
render方法<em
浏览 24
提问于2019-10-16
得票数 3
回答已采纳
5
回答
使用
delete关键字删除具有动态分配块
的
对象
安全
吗
?
c++
、
memory-management
对于某些人来说,这个问题听起来可能太简单了,但是
我
正在尝试理解
如果
我
使用
delete关键字删除一个具有动态分配块
的
对象
会发生什么。 调用delete将做两件事,首先调用
析
构
函数,然后释放
内存
。
如果
delete正在释放
对象
内存
,那么它也
会
释放动态分配
的
内存
吗
?或者
我
必须在
析
<e
浏览 4
提问于2012-12-30
得票数 3
回答已采纳
1
回答
在
不调用
析
构
函数
的
情况下结束STL容器
的
寿命
c++
、
c++11
、
standards-compliance
问题C++11标准声明如下: 程序可以通过重用
对象
占用
的
存储或显式调用具有非平凡
析
构
函数
的
类
浏览 2
提问于2014-10-11
得票数 2
回答已采纳
2
回答
双重结构是未定义
的
行为
吗
?
c++
、
object
、
c++11
、
constructor
、
lifetime
在
我们
的
代码库
中
,
使用
了一个
内存
块池,并且
在
“分配”时
使用
“放置新”来构造
对象
。不过,
我
忽略了
析
构
函数调用,发现允许“双重构造”很奇怪,并且不知道
在
同一个
对象
上再次调用构造函数是否是未定义
的
行为。
在
C++11 3.8.4 basic.life
中
,它读取 程序可以通过重用
对象
占用</em
浏览 5
提问于2020-11-10
得票数 4
回答已采纳
3
回答
如何在删除操作
中
推导出多态
对象
的
大小?
c++
、
heap-memory
、
delete-operator
、
virtual-destructor
但是,
我
感兴趣
的
是如何确定堆上
的
多态
对象
的
大小。 我们需要virtual
析
构
函数来提供关于堆
中
的
对象
的
信息,以便通过基类指针删除
对象
。,所以删除操作可以从调用
的
第一个
析
构
函数中提取该信息,并在完成对
析
构
浏览 10
提问于2022-06-14
得票数 3
10
回答
调用
析
构
函数,然后调用构造函数(重置
对象
)
c++
、
memory-management
、
new-operator
我
想重置一个
对象
。
我
可以用下面的方法来做
吗
?那么,为什么所有的威胁都出现在
中
呢?常见问题解答:你不能,除非
对象
是用新
的
位置分配
的
。必须删除new创建
的
对象
,这会做两件事(记住它们):调用
析
构
函数,然后释
浏览 68
提问于2009-07-14
得票数 26
回答已采纳
2
回答
销毁vs取消分配
c++
、
memory-management
在
“加速C++”
的
第11章
中
,作者提出了一个用数组模拟std::向量行为
的
向量类。他们
使用
分配程序类来处理
内存
管理。uncreate函数
的
作用是销毁数组
的
每个元素并释放分配给数组
的
空间: if (data) { //// reset pointers to indicate
浏览 7
提问于2013-08-06
得票数 9
回答已采纳
10
回答
删除
对象
c++
、
object
、
memory-management
首先,当您想在C++
中
释放分配给
对象
的
内存
时,哪一个是首选
的
?显式调用
析
构
函数还是
使用
delete?...delete object;object->~Object(); 其次,delete操作符是否隐式调用
析
构
函数?
浏览 0
提问于2010-06-04
得票数 5
回答已采纳
5
回答
当我“抛出”一些东西时,它存储在
内存
中
的
什么地方?
c++
、
exception
、
exception-handling
我
知道当某件事是thrown时,堆栈被“展开”到它被捕获
的
程度,每个函数上下文中堆栈上
的
类实例
的
析
构
函数都会运行(这就是为什么你不应该从
析
构
函数
中
抛出异常--你可能
会
抛出第二个异常)...but
我
想知道当这种情况发生时,
我
抛出
的
对象
在
内存
中
存储在哪里?它依赖于实现
吗
?
如果
是这
浏览 1
提问于2011-07-07
得票数 83
回答已采纳
2
回答
通过在此指针上放置新位置重新初始化
对象
的
未定义行为
c++
、
language-lawyer
、
destructor
、
placement-new
相关问题:
在
中
,它说"ok,
如果
没有例外“,说new (this) MyClass();
会
导致UB。(与上述问题相反) 程序可以通过重用
对象
占用
的
存储或显式调用具有非平凡
析
构
函数
的
类类型
对象
的
析
构
函数来结束任何
对象
的
生存期。对于具有非平凡
析
构
函数
的<
浏览 1
提问于2018-02-09
得票数 7
7
回答
C++
对象
返回
c++
++
中
,返回
的
对象
在
返回时不会调用
析
构
函数,这样说对
吗
?
对象
在
函数调用
中
占用
的
内存
是否
在
不运行
析
构
函数
的
情况下被简单地删除? 好
的
,举一个具体
的
例子..,
析
构
函数只运行一次(不是针对getAnObject()
中</
浏览 0
提问于2010-12-09
得票数 7
回答已采纳
3
回答
放置删除内部或外部
析
构
函数
c++
我
在
阅读“安置新运算符”时发现了以下代码。delete object created with placement delete obj->~MyClass();
我
很少有与删除
对象
有关
的
问题,该
对象
是
使用
新位置创建
的
: 清除代码需要
使用
析
构
函数来释放
占用
缓冲区<e
浏览 2
提问于2014-09-22
得票数 0
1
回答
我
是否应该释放
析
构
函数
中
的
所有成员(这些成员是动态分配
的
)?
c++
、
dynamic-memory-allocation
double winRate, totalYield; vector<double> args;你好,
我
从课本上了解到,
在
使用
动态分配之后,
我
必须释放所有的
内存
。据我所知,
析
构
函数将其成员
的
析
构
函数称为默认(没有任何命令)
我
的
第一个问题是--
如果
浏览 1
提问于2018-09-03
得票数 0
回答已采纳
1
回答
如何在此方案
中
管理
内存
c++
、
memory-management
、
smart-pointers
我
目前正在
使用
模板系统实现类似于此()
的
东西,这样
我
就不必为
我
想要支持
的
所有类型创建一个类。现在这个类本身工作正常,但是
如果
我
从一个文件
中
读取配置值并将它们保存到列表
中
,
我
就很难弄清楚如何管理
内存
。, value); 现在
我
的
问题是:在这种情况下,管理
内存
的
最佳方法是什么?由于列表是静态
的
,所
浏览 4
提问于2014-03-26
得票数 0
回答已采纳
1
回答
关于delete、delete[]、操作符delete()等
c++
A
的
构造函数,当调用delete时,is将首先调用A
的
析
构
函数,然后调用operator delete()来释放“正确
的
内存
量”。正如我
在
TC++PL中所读到
的
,这个“正确
的
内存
量”是这样确定
的
: 要释放由new、delete和delete[]分配
的
空间,必须能够确定所分配
对象
的
大小。这意味着
使用
new
的
标准实
浏览 3
提问于2010-09-02
得票数 4
回答已采纳
1
回答
C++标准:寿命结束
c++
、
language-lawyer
、
lifetime
在
标准
的
C++部分
中
,可以找到以下内容(重点介绍):
对象
所
占用
的
存储被释放,或者被没有嵌套在o (intro.object)
中
的
intro.objec
浏览 0
提问于2018-02-09
得票数 4
5
回答
free/delete -
如果
我
不调用它们怎么办
c++
、
c
、
memory
、
memory-management
、
malloc
我
知道
如果
不
使用
delete/free释放已分配
的
内存
,最终会导致
内存
泄漏。
我
的
问题是:
如果
我
的
程序被终止,即使
我
没有释放
内存
,操作系统也会为
我
释放
内存
吗
?
浏览 0
提问于2013-02-06
得票数 2
回答已采纳
1
回答
虚拟
析
构
函数和delete关键字
c++
、
pointers
、
virtual-destructor
关于这个主题,
我
读过其他一些类似的问题,但对于
使用
delete来动态分配
内存
和虚拟
析
构
函数,
我
仍然感到困惑。
如果
我
在
链接结构中有一个类Base或类Derived
的
对象
,那么
如果
我
删除一个节点,
我
还想删除所有可以将该节点称为祖先
的
节点。
我
是否需要在
析
构
函数中指定这一点,如下所示
浏览 3
提问于2016-04-01
得票数 0
回答已采纳
2
回答
在
堆栈中
使用
新位置变量是否正确?
c++
、
new-operator
、
placement-new
、
stack-pointer
让我们看一看下面的代码:new(&a) A(124);new(&a) A(124); 这里一切都是正确
的
。但是根据标准,
在
析
构
函数调用之后
使用
对象
是未定义
的
行为(尽管
大多数
编译器提供
的
行为没有
浏览 6
提问于2021-09-05
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
你踩过几种C+内存泄露的坑?
AssetManager.finalize Timed Out 分析
【C#】-C#Dispose模式详细分析
C+堆,栈,RAII
自己用的变量,请自己清理干净
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券