社区
C++ 语言
帖子详情
C++中构造函数是没有返回值的,那么该如何处理构造函数中可能的错误(例如资源分配失败,等错误)
wuyuwww
2011-10-24 07:48:03
如题
...全文
670
15
打赏
收藏
C++中构造函数是没有返回值的,那么该如何处理构造函数中可能的错误(例如资源分配失败,等错误)
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
星羽
2011-10-25
打赏
举报
回复
一定要在构造里 初始化资源就 throw吧
不如就别在构造里做会失败的事情
家个 init 函数,构造完后在init
pathuang68
2011-10-24
打赏
举报
回复
[Quote=引用 11 楼 wuyuwww 的回复:]
如果我想楼上的那样回答,人家会给我0分的
[/Quote]
10楼的回答是非常正确的。当然2楼说的assert和throw也很正确。
和构造函数对应的析构函数,如果楼主看过C++ Primer的第四版将自定义异常的时候,就可以返现Stanley Lippman也说过类似的话,而且在析构函数中不能throw,这时候前面说到的throw之类的办法也不可以了。Herb Sutter在Exceptional c++ 中也说过说:“永远都不要写能够抛出异常的析构函数”
wuyuwww
2011-10-24
打赏
举报
回复
啊哈哈
牛
taodm
2011-10-24
打赏
举报
回复
因为这是C++之父和herb sutter这样的最顶级专家的回答。
你自己掂量吧。
wuyuwww
2011-10-24
打赏
举报
回复
如果我想楼上的那样回答,人家会给我0分的
taodm
2011-10-24
打赏
举报
回复
那就不要把可能出错的这些操作放在构造函数里。
wind_breez
2011-10-24
打赏
举报
回复
try catch
wuyuwww
2011-10-24
打赏
举报
回复
怎么抛啊?哈哈 我不会?
gw_net
2011-10-24
打赏
举报
回复
use smart pointer inside class
cyf31
2011-10-24
打赏
举报
回复
[Quote=引用 2 楼 hnuqinhuan 的回复:]
异常或者assert断言
[/Quote]
同解
zzcmx2008
2011-10-24
打赏
举报
回复
检查异常情况
caddor2011
2011-10-24
打赏
举报
回复
throw 抛出异常 检测
cocoabird
2011-10-24
打赏
举报
回复
用资源管理器管理,从新写个class管理这个构造函数的对象
無_1024
2011-10-24
打赏
举报
回复
异常或者assert断言
qq120848369
2011-10-24
打赏
举报
回复
抛出异常。
C++
语言基础视频教程
主要包括类的声明、对象定义、
构造函数
和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会...
C++
中
调用
构造函数
有
返回值
吗?
最近在面试
中
问道一个问题,
C++
中
构造函数
有
返回值
吗? 例如 class A { public: A():x(1){} A(int i):x(i){} private: int x; } 官方解释在
C++
标准规定了构造/析构/自定义类型转换符不可以指定返回类型。 ...
构造函数
有
没有
返回值
?
昨天面试,他问我:
构造函数
有
没有
返回值
? 我告诉他说:
构造函数
没有
返回值
。 他举了个反例: String str = new String("content"); new 的时候调用
构造函数
,返回给str; 再问:有
没有
方法...
C++
关于
构造函数
的
返回值
构造函数
确实隐式地返回了一个该类的对象。或许底层原理并非如此,但对于
没有
接触过底层的用户来说,这样去理解,我想是没什么大问题的。
C++
中
拷贝
构造函数
的调用及
返回值
优化问题
返回值
优化(Return Value Optimization,简称RVO),是这么一种优化机制:当函数需要返回一个对象的时候,如果自己创建一个临时对象用户返回,那么这个临时对象会消 耗一个
构造函数
(Constructor)的调用、一个复制...
C++ 语言
64,642
社区成员
250,606
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章