📅  最后修改于: 2023-12-03 14:50:02.787000             🧑  作者: Mango
在 C++ 中,元组和向量是常见的数据结构,它们允许程序员轻松地管理和处理大量数据。而元组向量是将二者结合在一起的数据结构。
元组是一种不同于数组或向量的数据结构,因为它可以容纳不同类型的元素。在 C++ 11 之后,我们可以使用
下面是一个元组的例子:
#include <iostream>
#include <tuple> // 引入元组头文件
int main() {
// 创建元组
std::tuple<std::string, int, double> person{"Tom", 24, 1.75};
// 访问元素
std::cout << std::get<0>(person) << std::endl; // 输出 "Tom"
std::cout << std::get<1>(person) << std::endl; // 输出 "24"
std::cout << std::get<2>(person) << std::endl; // 输出 "1.75"
return 0;
}
我们需要使用元组的类型进行声明,然后可以直接使用花括号初始化。访问元素时需要使用 std::get,并提供元素的索引。
向量是一种可变大小的数组,程序员可以根据需要在运行时动态增加或删除其元素。在 C++ 中,我们可以使用
下面是一个向量的例子:
#include <iostream>
#include <vector> // 引入向量头文件
int main() {
// 创建向量
std::vector<int> numbers{1, 2, 3};
// 添加元素
numbers.push_back(4);
// 遍历向量
for (auto num : numbers) {
std::cout << num << " ";
}
// 输出 "1 2 3 4"
return 0;
}
向量需要指定其元素类型,并可以在声明时提供初始元素。使用 push_back 可以向向量中添加元素。向量可以使用范围循环进行遍历。
元组向量是将元组和向量结合在一起的数据结构。这样,程序员可以使用元组来表示每个向量元素的多个属性。
下面是一个元组向量的例子:
#include <iostream>
#include <vector>
#include <tuple> // 引入元组头文件
int main() {
// 创建元组向量
std::vector<std::tuple<std::string, int>> people{
{"Tom", 24},
{"Jerry", 28},
{"Kate", 35}};
// 遍历元组向量
for (auto person : people) {
std::cout << std::get<0>(person) << " is " << std::get<1>(person) << " years old." << std::endl;
}
/*
输出:
Tom is 24 years old.
Jerry is 28 years old.
Kate is 35 years old.
*/
return 0;
}
这里我们定义了一个元组向量,其中每个元素是一个包含两个元素的元组。然后,我们可以使用范围循环遍历所有人并输出他们的名字和年龄。