vector<vector<char>> 类型初始化
时间: 2024-09-09 11:16:29 浏览: 48
`vector<vector<char>>` 是C++中的嵌套向量类型,即一个向量的每个元素也是一个向量,而这些内层向量的元素类型是 `char`。这种类型可以用来存储字符的二维数组,例如矩阵或网格。初始化嵌套向量有几种方式:
1. 默认初始化:
```cpp
vector<vector<char>> matrix;
```
这将创建一个空的嵌套向量,其大小为0,不包含任何元素。
2. 使用特定大小初始化:
```cpp
vector<vector<char>> matrix(rows, vector<char>(cols));
```
这种方式将创建一个具有`rows`行,每行有`cols`个字符的矩阵,并且所有字符都被默认初始化为`'\0'`(空字符)。
3. 使用列表初始化:
```cpp
vector<vector<char>> matrix = {
{ 'a', 'b', 'c' },
{ 'd', 'e', 'f' },
// 可以继续添加更多行
};
```
这种方式会根据提供的元素列表初始化矩阵,每个内部大括号内的元素形成一个内层向量。
4. 预分配内存( reserva 和 resize):
```cpp
vector<vector<char>> matrix;
matrix.reserve(rows); // 预分配外层向量的内存,如果知道行数的话
for (int i = 0; i < rows; ++i) {
matrix.push_back(vector<char>(cols)); // 为每一行分配内存并添加到外层向量
}
```
这种方式适用于当你预计要添加大量元素,想要减少因动态内存分配导致的性能损耗时。
阅读全文