Из любопытства я взглянул на реализацию std :: array LLVM и заметил, что это структура. Большинство других контейнеров STL, на которые я смотрел (вектор, очередь, карта), являются классами. И он появляется в стандарте как структура, поэтому является преднамеренным.Почему C++ 11 std :: array является структурой, а не классом?
Кто-нибудь знает, почему это может быть?
Это, как представляется, часто применяемое соглашение для создания структур типа POD, хотя я не знаю, является ли это причиной здесь. –
Агрегаты могут не иметь частных или защищенных членов, а 'std :: array' должен быть агрегатом. – dyp