c++中有没有办法填充这样分配的数组
int **a = new int[4][2];
这样它就会像这样在一行中填充值
int a [4][2] = {{2,3,4},{5,6,7}};
c++中有没有办法填充这样分配的数组
int **a = new int[4][2];
这样它就会像这样在一行中填充值
int a [4][2] = {{2,3,4},{5,6,7}};
您可以使用通用初始化符号在 C++11 中执行此操作:
int(*a)[2] = new int[2][2]{{1,2},{3,4}};
向量的向量可以工作,但仅在 C++11 中。我想你必须为此放弃 C 兼容性
#include <vector>
int main()
{
std::vector<std::vector<int>> v = {{2,3,4},{5,6,7}};
}
如果您的编译器具有足够的 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};
}