【发布时间】:2015-12-14 15:17:49
【问题描述】:
我不熟悉使用 noexcept 说明符,我不明白为什么 std::array::front 和 std::array::back 没有声明为 noexcept(而 std::array::begin 和 std::array::end 是)。
这是什么原因?
【问题讨论】:
-
好问题。在数组大小非零的情况下,它们必须有条件地为 noexcept。但是供应商可以加强无例外性,因为 QoI...
-
@KerrekSB 甚至不是有条件的,因为
std::array<T, 0>可以专门化为没有那些noexcept与std::array<T, N>相反。不幸的是,该标准没有提供这一点。
标签: c++ arrays c++11 c++14 noexcept