目录
std::vector
std::tuple
例子
代码
分析
std::vector
它是一个动态数组,可以容纳多个元素,每个元素是一个 std::tuple
std::tuple
它是一个固定大小的容器,可以存储不同类型的数据
例子
有时候想定义一个下面这样子类型的变量
results = [([[1, 2, 3], [4, 5], [6]], // std::vector<std::vector<int>>: 二维整数矩阵"Sample matrix", // std::string: 描述信息3.14 // float: 浮点值)
]
代码
// 定义需要的类型
std::vector<std::tuple<std::vector<std::vector<int>>, std::string, float>> results;std::vector<std::vector<int>> matrix = {{1, 2, 3}, {4, 5}, {6}};
std::string description = "Sample matrix";
float value = 3.14;// 将参数加入到vector中
results.push_back(std::make_tuple(matrix, description, value));// 输出for (const auto& result : results) {const auto& mat = std::get<0>(result);const std::string& desc = std::get<1>(result);float val = std::get<2>(result);std::cout << "Matrix:\n";for (const auto& row : mat) {for (int elem : row) {std::cout << elem << " ";}std::cout << "\n";}std::cout << "Description: " << desc << "\n";std::cout << "Value: " << val << "\n";}
分析
std::vector
:- 包含多个元素,每个元素是一个
std::tuple
。
- 包含多个元素,每个元素是一个
std::tuple
:- 包含三个部分:
- 一个二维整型数组。
- 一个字符串。
- 一个浮点数。
- 包含三个部分:
std::vector<std::vector<int>>
:- 二维整型数组,每个子元素是一个
std::vector<int>
。 - 也就是说前面一层是 [ ] 数组,里面还是一个 [ ] 数组
- 二维整型数组,每个子元素是一个