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

devtools/2024/11/22 15:00:01/

目录

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


http://www.ppmy.cn/devtools/136037.html

相关文章

MACOS开发、使用常见问题汇总

MACOS常见问题 本文记录使用macos遇到的常见问题&#xff0c;后面会持续更新&#xff0c;觉得有用的可以收藏一下。 打不开xxx.app&#xff0c;因为它来自身份不明的开发者解决方法(开启任何来源) 打开终端&#xff08;Terminal&#xff09;程序 拷贝sudo spctl --master-di…

Matlab 深度学习工具箱 案例学习与测试————求二阶微分方程

clc clear% 定义输入变量 x linspace(0,2,10000);% 定义网络的层参数 inputSize 1; layers [featureInputLayer(inputSize,Normalization"none")fullyConnectedLayer(10)sigmoidLayerfullyConnectedLayer(1)sigmoidLayer]; % 创建网络 net dlnetwork(layers);% 训…

“人工智能+高职”:VR虚拟仿真实训室的发展前景

在当今科技日新月异的时代&#xff0c;人工智能&#xff08;AI&#xff09;与虚拟现实&#xff08;VR&#xff09;技术的融合正逐步改变着各行各业&#xff0c;教育领域也不例外。特别是在高等职业教育&#xff08;简称“高职”&#xff09;体系中&#xff0c;VR虚拟仿真实训室…

2024年亚太地区数学建模C题完整思路

题目 随着人们消费理念的发展&#xff0c;宠物行业作为一个新兴产业&#xff0c;由于经济的快速发展和人均收入的提高&#xff0c;正在全球范围内逐渐积聚力量。1992年&#xff0c;中国小动物保护协会成立&#xff1b;1993年&#xff0c;皇家宠物食品&#xff08;Royal Canin&…

Pycharm

Pycharm PycharmPycharm汉化Pycharm基本设置 Pycharm PyCharm是一种Python IDE&#xff08;Integrated Development Environment&#xff0c;集成开发环境&#xff09;&#xff0c;带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具&#xff0c;比如调试、语法高…

FileProvider高版本使用,跨进程传输文件

高版本的android对文件权限的管控抓的很严格,理论上两个应用之间的文件传递现在都应该是用FileProvider去实现,这篇博客来一起了解下它的实现原理。 首先我们要明确一点,FileProvider就是一个ContentProvider,所以需要在AndroidManifest.xml里面对它进行声明: <provideran…

图论之最小生成树计数(最小生成树的应用)

题目 2401: 信息学奥赛一本通T1492-最小生成树计数 时间限制: 2s 内存限制: 192MB 提交: 18 解决: 8 题目描述 原题来自&#xff1a;JSOI 2008 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树&#xff0c;而希望知道这个图中有多少个不同的最小生成树。&…

深入计算机语言之C++:STL之vector的模拟实现

&#x1f511;&#x1f511;博客主页&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列专栏&#xff1a;从C语言到C语言的渐深学习 欢迎来到泊舟小课堂 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ​ 一、实现基本框架 1.1 结构的定义 &#x1f…