c++学习:std的vector和tuple,定义包含不同类型数据数组

目录

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>
    • 也就是说前面一层是 [ ] 数组,里面还是一个 [ ] 数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值