- 主题:share_ptr<int> p(new int(3))
new失败会发生什么?P=nullptr?
- 来自 水木说
--
FROM 58.33.27.*
bad_alloc直接异常崩溃吧
【 在 freyoneby 的大作中提到: 】
: new失败会发生什么?P=nullptr?
: - 来自 水木说
--
FROM 221.219.211.*
默认是抛出bad_alloc异常,不catch就会崩溃
new(nothrow)不会抛出异常,它会返回nullptr
【 在 freyoneby 的大作中提到: 】
: new失败会发生什么?P=nullptr?
: - 来自 水木说
--
FROM 222.128.5.*
最好用std::make_shared<>()来保证new抛出异常时的安全性,exception-safety。
不用裸的new。
--
FROM 221.218.161.*