Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
N3337 で、§23.3.2.1/3 を読んでいます。
Anarrayは、コンテナーと可逆コンテナー (23.2) のすべての要件を満たしますarray 。
array
§23.2.1 の表 96 コンテナ要件ではX u;、事後条件が であるデフォルトの構築済みオブジェクトを示していますu.empty()。おそらく、次のようになります。
X u;
u.empty()
std::array<int, 0> a;
をa.empty()出力する必要1があります。では、ここで「空」とはどういう意味ですか?
a.empty()
1
あなたはボーダーケースを見ています - サイズがゼロの配列は空ですか?その特定の質問を無視すると、標準的な引用は、std::array<T,N> arrデフォルトの構築では、一般的な は事後条件を満たさないと述べていますarr.empty()。実際、 anstd::array<T, N>はempty()の場合のみN==0です。そして、この定義も自然です。std::array<T,N>::size()はconstexprwith 値Nであり、empty()と同義でなければなりませんsize() == 0。
std::array<T,N> arr
arr.empty()
std::array<T, N>
empty()
N==0
std::array<T,N>::size()
constexpr
N
size() == 0