j5w*_*j5w 12 c++ compilation exception noexcept
noexcept如果您的实现具有零成本(如果没有抛出)异常模型,说明符是否无用?什么是缺乏noexcept有后果的例子?
Fra*_*eux 14
noexcept如果您的实现具有零成本(如果没有抛出)异常模型,说明符是否无用?
不,noexcept即使异常根本没有性能影响,也会很有用。
一个例子是noexcept可以表明可以使用哪种算法。例如,使用std::move_if_noexcept或许多标准type_traits 的算法可能会根据noexcept.
这可能会对常见功能产生重大影响,例如std::vector如果元素的移动构造函数不是 ,则速度会慢得多noexcept。std::vector如果移动构造函数不noexcept保留强异常保证,则将在重新分配而不是移动它们时复制所有元素。
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |