2016-06-09 3 views

ответ

3
class A 
{ 
    std::array<std::array<int, 2>, 2> m; 
    A(int m00, int m01, int m10, int m11) 
     : m {{{m00, m01}, {m10, m11}}} 
    {} 
}; 
+0

Я интуитивно понимаю '{m00, m01}' для внутреннего массива и '{{...}, {...}}' для внешнего, но зачем нужны самые внешние фигурные скобки? – user2079303

+0

Я думаю, что ответ правильный. но зачем нужны 3 пары '{}'? Если это 'vector >', нужны также 3 набора? – user1899020

+0

@ user1899020 Короче говоря, потому что 'array' является агрегатом. Поскольку внутренний тип представляет собой совокупность, вы фактически можете удалить все фигурные скобки, кроме внешних: 'm {m00, m01, m10, m11}' –

Смежные вопросы