C++的一些设计问题

构造函数

缺点: 不能通过返回值报告错误,C++异常机制又不靠谱; 二级段构造可以分离内存分配和初始化,可以在栈上分配对象;

优点: 二阶段构造函数,使得对象处于未构造的不确定状态;

析构函数

缺点: 析构函数不能调用虚方法;

优点: 值语义下会自动调用析构函数;

异常机制

缺点: 中途排除的异常导致资源泄露(就是用auto_ptr的情况); 代码大小和运行效率影响;

优点: 错误不可忽略,增强健壮性; 错误逻辑和正常逻辑分离,增强可读性; 错误信息丰富;

总之是C++异常机制不好,不是异常机制本身不好。至于说异常机制容易引起奔溃的说法,是对异常的误解。

转载于:https://my.oschina.net/chunquedong/blog/303718

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值