填寫動態數組是否有在C++中的方式來填充分配這樣使用花括號記號C++
int **a = new int[4][2];
以便它填充有值在一條線這樣
int a [4][2] = {{2,3,4},{5,6,7}};
填寫動態數組是否有在C++中的方式來填充分配這樣使用花括號記號C++
int **a = new int[4][2];
以便它填充有值在一條線這樣
int a [4][2] = {{2,3,4},{5,6,7}};
你可以在C++ 11中使用universal initialization notation:
int(*a)[2] = new int[2][2]{{1,2},{3,4}};
+1因爲我卡在C++ 03上。 – 2013-02-08 19:27:48
的陣列矢量向量可以工作,但只能在C++ 11中運行。我想你不得不放棄該
#include <vector>
int main()
{
std::vector<std::vector<int>> v = {{2,3,4},{5,6,7}};
}
使用支持初始化程序列表的C++ 11編譯器。 – Aeluned 2013-02-08 19:13:41
@呃,很快就可以了Clang,gcc,Intel現在或者MSVC – TemplateRex 2013-02-08 19:18:09
@rhalbersma「或者MSVC很快」 - 你一定是在開玩笑。 – 2013-02-08 19:23:39
C兼容性身高標準::陣列C風格的數組,如果你的編譯器有足夠的C++ 11的支持:
#include <array>
int main()
{
std::array<std::array<int,3>,3> v = {1,2,3,4,5,6,7,8,9};
}
您的第一行無效。 – jrok 2013-02-08 19:07:37
這已被問了很多很多次,答案仍然是「否」(或者對於(i = 2; i <8; i ++)......) – 2013-02-08 19:07:38
@ H2CO3鏈接到類似的問題? – djechlin 2013-02-08 19:15:02