在c ++中是否有办法填充像这样分配的数组
int **a = new int[4][2];
这样就可以像这样填充一行中的值
int a [4][2] = {{2,3,4},{5,6,7}};
答案 0 :(得分:6)
您可以使用universal initialization notation在C ++ 11中执行此操作:
int(*a)[2] = new int[2][2]{{1,2},{3,4}};
答案 1 :(得分:0)
矢量矢量可以工作,但仅限于C ++ 11。我想你必须放弃C兼容性
#include <vector>
int main()
{
std::vector<std::vector<int>> v = {{2,3,4},{5,6,7}};
}
答案 2 :(得分:0)
如果你的编译器有足够的C ++ 11支持,则首选std :: array为C风格的数组:
#include <array>
int main()
{
std::array<std::array<int,3>,3> v = {1,2,3,4,5,6,7,8,9};
}