[承認された] 標準文書N4280は、C++17 に折りたたまれるいくつかの新しい非メンバー関数を追加します。
新しい非メンバー関数のそれぞれの適切な戻り値を示すコメントがあり、特に、std::empty
固定サイズの配列のオーバーロードは私を混乱させます。false
この論文は、そのオーバーロードの戻り値が常に;になることを示唆しています。すべての固定サイズの配列が空になることはありません。
なぜこれが当てはまるのでしょうか?私の知る限りでは、(おそらく役に立たないかもしれませんが) のようにサイズがゼロの配列を持つことは可能ですint x[0];
。これを空と呼びます。
参考までに、私が話している特定のオーバーロードは次のとおりです。
template <class T, size_t N> constexpr bool empty(const T (&array)[N]) noexcept;