Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 初始化一个向量向量,其中并非所有向量都具有相同的大小C++;_C++_String_Vector - Fatal编程技术网

C++ 初始化一个向量向量,其中并非所有向量都具有相同的大小C++;

C++ 初始化一个向量向量,其中并非所有向量都具有相同的大小C++;,c++,string,vector,C++,String,Vector,我有一些这样的数据 static const double v1_arr={2,3,4} vector<double> v1_vec(v1_arr, v1_arr + sizeof(v1_arr[0])) static const double v2_arr={9,6} vector<double> v2_vec(v2_arr, v2_arr + sizeof(v2_arr[0])) static const double v3_arr={9,6,7,6} vecto

我有一些这样的数据

static const double v1_arr={2,3,4}
vector<double> v1_vec(v1_arr, v1_arr + sizeof(v1_arr[0]))

static const double v2_arr={9,6}
vector<double> v2_vec(v2_arr, v2_arr + sizeof(v2_arr[0]))

static const double v3_arr={9,6,7,6}
vector<double> v3_vec(v3_arr, v3_arr + sizeof(v3_arr[0]))
static const double v1_arr={2,3,4}
向量v1_vec(v1_arr,v1_arr+sizeof(v1_arr[0]))
静态常数双v2_arr={9,6}
向量v2_vec(v2_arr,v2_arr+sizeof(v2_arr[0]))
静态常数双v3_arr={9,6,7,6}
向量v3_vec(v3_arr,v3_arr+sizeof(v3_arr[0]))

如何初始化包含上述三个向量的向量向量

vector<vector<double>> v_3{v1_vec, v2_vec, v3_vec};
向量v_3{v1_vec,v2_vec,v3_vec}; 除非您需要“array”和` vector对象(假设您修复了语法错误以实际声明一些数组),否则整个过程可以简化为

vector<vector<double>> v_3{{2, 3, 4}, {9, 6}, {9, 6, 7, 6}};
向量v_3{{2,3,4},{9,6},{9,6,7,6};

如果您使用的编译器支持
C++11
,您只需

vector<vector<double>> v_3{v1_vec, v2_vec, v3_vec};

跳过中间的
v1_-arr

你是说
静态常数双v1_-arr[]={2,3,4}
?在相关的注释中,我将如何调用v1_-vec的元素2?我能做v3[1][2]吗?@Jim,向量和数组一样,都是零索引的,所以对于v3中第一个向量的第二个元素,您需要v3[0][1]。
vector<vector<double>> v_3;
v_3.push_back(v1_vec);
v_3.push_back(v2_vec);
v_3.push_back(v3_vec);
vector<double> v1_vec{1.0, 2.0, 3.0};