std::vector<std::vector<double>>如何初始化
时间: 2024-10-16 10:16:40 浏览: 31
C++实现希尔伯特变换的4个步骤,附带代码示例.docx
`std::vector<std::vector<double>>` 是 C++ 中的一个二维动态数组,它是一个包含 `double` 类型元素的一维向量集合。你可以通过多种方式进行初始化:
1. **空初始化**:
```cpp
std::vector<std::vector<double>> matrix;
```
这将创建一个空的二维向量。
2. **指定大小的初始填充**:
```cpp
std::vector<std::vector<double>> matrix(3, std::vector<double>(4, 0.0)); // 创建一个3x4矩阵,所有元素为0.0
```
这里分别给每一行分配了4个`double`值。
3. **直接赋值**:
```cpp
std::vector<std::vector<double>> matrix = {
{1.0, 2.0, 3.0},
{4.0, 5.0, 6.0},
{7.0, 8.0, 9.0} // 初始化为3行3列矩阵,元素分别为1到9
};
```
可以直接提供一组嵌套的`{}`列表来初始化每个子向量。
4. **用循环或函数初始化**:
```cpp
size_t rows = 3, cols = 4;
std::vector<std::vector<double>> matrix(rows);
for (size_t i = 0; i < rows; ++i) {
matrix[i] = std::vector<double>(cols, some_value); // 使用某个默认值填充
}
```
使用循环逐行填充。
阅读全文