Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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++ 如何迭代未知大小的2D向量?_C++_Loops_2d Vector - Fatal编程技术网

C++ 如何迭代未知大小的2D向量?

C++ 如何迭代未知大小的2D向量?,c++,loops,2d-vector,C++,Loops,2d Vector,我试图访问2D向量中的int值,该向量的行数和列数未知 我试过这个: for(vector<int> vec : matrix){ for(int i : vec){ queue_lista.push(vec[i]); } } for(向量向量向量:矩阵){ 用于(int i:vec){ 队列列表推送(vec[i]); } } 这是: vector< vector<int> >::iterat

我试图访问2D向量中的int值,该向量的行数和列数未知

我试过这个:

for(vector<int> vec : matrix){
        for(int i : vec){
            queue_lista.push(vec[i]);
        }
    }
for(向量向量向量:矩阵){
用于(int i:vec){
队列列表推送(vec[i]);
}
}
这是:

vector< vector<int> >::iterator row;
vector<int>::iterator col;
for (row = nums.begin(); row != nums.end(); row++) {
    for (col = row->begin(); col != row->end(); col++) {
        //queue_lista.push(nums[col][row]);
    }
}
vector::迭代器行;
向量::迭代器列;
for(row=nums.begin();row!=nums.end();row++){
对于(col=行->开始();col!=行->结束();col++){
//队列列表推送(nums[col][row]);
}
}

在您的第一个代码片段中,
i
接受向量中的值,而不是索引。因此,您应该只使用
push(i)
而不是
vec[i]

在第二个代码段中,
col
是迭代器,而不是索引。所以你也不应该在订阅时使用它
*col
是您的数据



性能说明:如果让
vec
作为一个常量引用而不是副本,那么第一个代码段将更加高效。

如果它是
std::vector
,那么它的大小如何未知?