2016-06-09 81 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}' –

相關問題