腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
对象在C++中存在意味着什么?
、
、
、
、
mine/15读,强调我
的
: 类型为T
的
对象
的</em
浏览 3
提问于2015-05-19
得票数 30
3
回答
对象在~Derived()调用和~Base()调用之间
的
状态
、
、
问题} Base *bd = new Derived;} 在本例中,Member对象有一个指向拥有它
的</em
浏览 1
提问于2012-06-28
得票数 6
回答已采纳
2
回答
具有非虚拟
析
构
函数
的
C++ dll
接口
类
、
、
、
我开发了一个windows应用程序,加载动态链接库插件,我希望这些插件是可编译
的
其他编译器而不是我
的
(MinGW) 所以我实现了一个插件
接口
类PluginInterface,它只有纯虚
函数
。该插件导出两个C
函数
,一个用于创建一个从PluginInterface派生
的
对象并在其上返回一个指针,另一个用于删除该对象。问题是,如果我
对
PluginInterface使用了一个虚拟
析
构
函数
,那么该
接口
在编译器
浏览 31
提问于2015-06-17
得票数 0
1
回答
析
构
函数
是否根据标准有名称?
使用可选
的
函数
说明符序列(7.1.2)、构造
函数
的
类名和参数列表,使用特殊
的
声明器语法来声明或
定义
构造
函数
。在这样
的
声明中,构造
函数
类名周围
的
可选括号将被忽略。“标准”没有明确规定
析
构
函数
有或没有名称,但是有许多关于如何使用特殊语言
引用
和声明
析
构
函数
的
引用
,
浏览 2
提问于2010-04-22
得票数 5
回答已采纳
4
回答
为什么不破坏一个被新放置覆盖
的
对象是不明确
的
行为呢?
、
、
、
、
我试图弄清楚以下是否是
未定义
的
行为。说,“当创建对象
的
块退出(stmt.dcl)时,
对
具有自动存储持续时间(basic.stc.auto)
的
构造对象隐式调用
析
构
函数
”。 因此,原始A对象
的
析
构
函数
在main退出时被隐式调用。说:“如果
析
构
函数
是针对其生存期已经结束
的
对象(basic.life)调用
的</
浏览 1
提问于2018-09-03
得票数 10
回答已采纳
4
回答
在调用
析
构
函数
之前,对象
的
生存期已经结束吗?
、
、
、
我不明白这一点: 3.8/1“T类型
的
对象
的
生存期结束时:-如果T是具有非平凡
析
构
函数
(12.4)
的
类类型,则
析
构
函数
调用启动,或者-对象所占用
的
存储被重用或释放。”如果在
析
构
函数
启动之前生命周期结束,这不意味着访问
析
构
函数
中
的
成员是
未定义
的
行为
浏览 6
提问于2011-12-23
得票数 13
回答已采纳
1
回答
在没有虚拟
析
构
函数
情况下删除novtable基类
的
行为
、
、
据我所知,如果您在
接口
指针(或者更具体地说是指向派生类实例
的
基类指针)上调用delete,并且该声明没有虚拟
析
构
函数
,那么产生
的
行为是
未定义
的
,派生对象
的
析
构
函数
也不会被调用。ITestInferface *pThing = new Test(); delete *pThing; // undefined 通常,要么为基类
定义
虚拟
析</
浏览 12
提问于2020-08-06
得票数 0
回答已采纳
2
回答
链接器是指
未定义
的
对
vtable
的
引用
。
、
、
我试图使用一个抽象类来表示子类型
的
公共基础。但是,不管我做什么,它(似乎是链接器)总是抱怨vtable和
未定义
的
引用
。从错误消息判断,这个问题必须在某种程度上与
析
构
函数
相关。够了,它一直在说 在child.cpp中,这是没有意义
的
。在搜索了C++中使用抽象类
的
方法之后,我就要放弃了。据我所知
浏览 2
提问于2015-04-22
得票数 2
回答已采纳
5
回答
为什么垃圾收集器以错误
的
顺序获取对象?
、
、
我有一个包含A和B两个类
的
应用程序。A类包含
对
B类
的
引用
。这两个类
的
析
构
函数
会对资源进行一些清理,但它们必须按正确
的
顺序调用,首先是A
的
析
构
函数
,然后是B
的
析
构
函数
。发生
的
事情是,B
的
析
构
函数
首先被调用,
浏览 3
提问于2010-11-12
得票数 6
回答已采纳
5
回答
析
构
函数
可以是递归
的
吗?
、
、
这个程序是否
定义
良好,如果不是,确切原因是什么?:尽管,根据12.4/14,它确切地说是这样
的
:
浏览 175
提问于2010-06-17
得票数 51
回答已采纳
2
回答
boost::filesystem
的
C++链接错误
、
、
指向(commands.cpp)
的
全局
析
构
函数
未定义
对
boost::system::get_system_category()
的
引用
如何解决此错误?
浏览 2
提问于2010-06-15
得票数 0
1
回答
节目在发射时崩溃
、
、
当我启动我
的
游戏时,当我调用构造
函数
时,它似乎崩溃了。它说
的
是"a.exe已经停止工作了“,然后我不得不关闭程序。我尝试通过我所有的链接类和头来追溯问题,但是我没有发现任何问题。也许你们中
的
一个能帮我。以下是所涉及
的
课程:#define POKEMON_H_ #include "Elements.cpp"
浏览 1
提问于2015-07-19
得票数 0
回答已采纳
4
回答
按照
定义
,在
接口
中放置一个“虚拟
析
构
函数
”不再是
接口
了吗?
、
、
、
“虚拟
析
构
函数
”,销毁派生对象
的
意图只会作为一个销毁基对象(即
接口
类)
的
调用来执行,而且由于没有虚拟
析
构
函数
,因此不会达到实际调用派生对象
的
析
构
函数
的
程度--从而导致内存泄漏。好吧,如果听起来是
对
的
,那就回答我
的
问题。仅仅在您
的
接口
中声明一个虚拟
析<
浏览 6
提问于2011-08-06
得票数 26
2
回答
当使用受保护
的
非虚拟
析
构
函数
时,禁止删除-非虚拟-dtor警告。
、
struct Foo virtual void doStuff() = 0;{}; 我
的
接口
类没有虚拟
析
构
函数
main.cc:15:9: error:删除具有非虚拟
析
构
函数
的
抽象类类型‘Foo’
的
对象将导致
未定义
的
行为-dtor= delete -非虚拟dtor
浏览 1
提问于2017-04-07
得票数 13
回答已采纳
1
回答
为什么即使删除了
析
构
函数
,我也可以创建一个匿名联合呢?
、
、
、
来自C++ Primer (13.1.6): 编译器将不允许我们
定义
变量或创建具有
已
删除
析
构
函数
的
类型
的
临时变量。此外,我们不能
定义
具有类型为
已
删除
析
构
函数
的
成员
的
类
的
变量或临时变量。如果成员具有
已
删除
的
析
构
函数
,则不能销毁该成员。如果一
浏览 9
提问于2016-01-23
得票数 2
2
回答
为什么此代码会引发LNK2019错误?
、
、
、
我只是通过构建这个简单
的
程序来确保我理解了继承,在这个程序中,Dog继承了哺乳动物。当我编译它时,我得到了一个错误。它所要做
的
就是进入哺乳动物和狗
的
构造
函数
,然后进入哺乳动物和狗
的
析
构
函数
。int main() Dog Goldie(5, 50, "Lab"); system("PAUSE");} 编译器
的
输
浏览 27
提问于2011-11-22
得票数 0
9
回答
显式调用
析
构
函数
会在这里导致
未定义
的
行为吗?
、
、
~some(); }some's destructor我从c++常见问题解答中学到,我们不应该显式地调用
析
构
函数
。我认为在显式调用
析
构
函数
之后,应该删除对象s。程序完成后会自动再次调用
析
构
函数
,它应该是UB。但是,我在g++上尝试了一下,得到了与上面的答案相同
的
结果。
浏览 4
提问于2010-07-20
得票数 5
回答已采纳
3
回答
删除默认构造
函数
(以及复制控制成员)缺少规则?
我
的
c++书(lippman,c++引物,第五版,第508页)提供了以下4条规则,用于计算编译器何时将复制控制和默认构造
函数
合成为
已
删除
的
成员: 如果类
的
成员自己
的
析
构
函数
被删除或无法访问(例如,私有),则合成
析
构
函数
被
定义
为
已
删除。如果类
的
成员自己
的
副本构造
函数
被删除或无法访问,
浏览 4
提问于2013-01-28
得票数 1
回答已采纳
2
回答
当没有创建类
的
实例时,标准是否允许隐式虚拟
析
构
函数
不被隐式
定义
?
、
、
、
、
在考虑
的
时候,我偶然发现了一些我不明白
的
东西。 ..。如果一个类有一个带有虚拟
析
构
函数
的
基类,那么它
的
析
构</e
浏览 5
提问于2019-10-24
得票数 7
16
回答
如果不应该在
析
构
函数
中抛出异常,如何处理其中
的
错误?
、
、
、
大多数人说,永远不要从
析
构
函数
中抛出异常,这样做会导致
未定义
的
行为。Stroustrup指出,“向量
析
构
函数
显式地为每个元素调用
析
构
函数
。这意味着如果一个元素
析
构
函数
抛出,向量销毁就会失败……实际上没有什么好
的
方法来防止从
析
构
函数
引发
的
异常,因此库无法保证元
浏览 41
提问于2008-09-24
得票数 298
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
一文了解“最好编程语言”PHP 必知的 16 个编程法则!
C/C+编程笔记:一文带你读懂C+面向对象和Java面向对象的区别
当对象释放时,避免析构函数调用两次
系统学习PHP之面向对象(上)
你踩过几种C+内存泄露的坑?
热门
标签
更多标签
云服务器
ICP备案
即时通信 IM
云直播
实时音视频
活动推荐
运营活动
广告
关闭
领券