vector<vector<int>>怎么定义大小
时间: 2024-09-11 13:03:21 浏览: 61
在C++中,`vector<vector<int>>`是一个二维动态数组,也称为向量的向量。你可以通过多种方式来定义它的大小,具体方法如下:
1. 使用`resize()`函数:
你可以在创建`vector<vector<int>>`之后使用`resize()`函数来指定外层和内层向量的大小。
```cpp
vector<vector<int>> vv;
vv.resize(numRows); // 设置外层向量的大小为numRows
for(int i = 0; i < numRows; ++i) {
vv[i].resize(numCols); // 为每个内层向量设置大小为numCols
}
```
2. 使用`assign()`函数:
如果你想在创建时直接指定所有向量的大小,可以使用`assign()`函数。
```cpp
int numRows = 5; // 外层向量的大小
int numCols = 10; // 内层向量的大小
vector<vector<int>> vv;
vv.assign(numRows, vector<int>(numCols)); // 创建numRows个大小为numCols的向量
```
3. 使用初始化列表:
从C++11开始,你还可以使用初始化列表来定义`vector<vector<int>>`的大小,并且可以直接初始化内部元素。
```cpp
vector<vector<int>> vv = {
vector<int>(numCols1, defaultValue1), // 第一个内层向量
vector<int>(numCols2, defaultValue2), // 第二个内层向量
// ... 可以继续添加更多向量
};
```
4. 使用循环逐个添加:
你可以创建一个空的`vector<vector<int>>`,然后在循环中逐个添加内层向量,并设置其大小。
```cpp
vector<vector<int>> vv;
for(int i = 0; i < numRows; ++i) {
vv.push_back(vector<int>(numCols)); // 添加numCols大小的向量
}
```
在使用这些方法时,请确保`numRows`和`numCols`是有效的正整数,以避免运行时错误。
阅读全文
相关推荐


















