tow*_*owi 14 c++ exception noexcept c++11
在经历C++ 0x工作草案的最后编辑时,我发现了很多
noexcept反之亦然.只是一些例子:
noexcept反对投掷:无:20.6.4指针安全[util.dynamic.safety] template<class T> T*undeclare_reachable(T*p);noexcept:20.6.3.2.指针特征成员函数[pointer.traits.functions]:static pointer pointer_trait<T*>::pointer_to(...) noexcept;问题在这里:
noexcept与抛出:没有在STD-库?noexcept自己的功能?How*_*ant 16
在马德里,我们受到N3279的强烈影响,其中包括以下指南:
通过指南
没有库析构函数应该抛出.它们应使用隐式提供的(非抛出)异常规范.
每个具有广泛合同的库函数,LWG同意不能抛出,应该被标记为无条件noexcept.
如果库交换函数,移动构造函数或移动赋值运算符是条件宽的(即可以通过应用noexcept运算符证明不抛出),那么它应该被标记为有条件的noexcept.没有其他函数应该使用条件noexcept规范.
设计用于与"C"代码(例如原子设施)兼容的库函数可以被标记为无条件noexcept.
我不会将这些指南解释为必须针对更广泛的受众.这主要是承认我们确实有添加noexcept的向后兼容性问题.如果我们弄错了,noexcept比在下一个标准中删除更容易.因此,我们尝试应用noexcept,既保守又系统.
| 归档时间: |
|
| 查看次数: |
2019 次 |
| 最近记录: |