当前位置: 首页 > article >正文

C++11新特性之tuple元组

1.介绍

        tuple(元组)是C++11新引入的一种类模版,其特点是:实例化的对象可以存储任意数量、任意类型的数据。当需要存储不同类型的元素或返回不同类型的多个数据时,都可以使用tuple。

2.tuple用法

        (1)创建tuple对象

        tuple本质上是个类模板,定义在头文件并位于std命名空间,因此想使用它,需要在程序中包含以下代码:

#include <tuple>
using std::tuple;

        实例化tuple模版类对象常用的有两种——使用该类的构造函数或使用make_tuple()函数。下边各举个例子:

std::tuple<int, char> first;
auto first = std::make_tuple (1,'a');

在使用中,两种方法都可,可自行选择。

3.tuple常用函数

        (1)tup1.swap(tup2)。交换两个tuple对象存储的内容。

        (2)get<num>(tup)。获取tup对象的第num+1个元素。

        (3)tuple_size<type>::value。获取tup的元素个数。type是tup对象的类型,可以使用decltype直接推导。  

        (4)tuple_element<i,type>::type。获取tup对象第i+1个元素的类型。

        (5)tie(args......) = tup。将tup内的元素逐一赋值给args...提供的左值变量。

        (6)tuple_cat(args....)。args...为多个tup对象。将多个tup对象的元素合并为一个。

4.总结

        优点:tuple可以存储任意数量、任意类型的数据。

        注意事项:使用过程中要注意库函数或变量的功能与用法,正确使用。


http://www.kler.cn/a/527756.html

相关文章:

  • 前端学习-事件委托(三十)
  • 使用where子句筛选记录
  • SpringBoot笔记
  • OpenAI-Edge-TTS:本地化 OpenAI 兼容的文本转语音 API,免费高效!
  • MATLAB中extractAfter函数用法
  • 爬虫基础(五)爬虫基本原理
  • Day49:添加字典元素
  • CSS 背景与边框:从基础到高级应用
  • I2C基础知识
  • 【项目集成Husky】
  • MATLAB中lineBoundary函数用法
  • Snowflake企业权限管理
  • 动态规划DP 最长上升子序列模型 导弹防御模型(题目分析+C++完整代码实现)
  • 基于Hutool的Merkle树hash值生成工具
  • 使用Pygame制作“贪吃蛇”游戏
  • 深度学习篇---深度学习框架
  • 设计模式Python版 桥接模式
  • X86路由搭配rtl8367s交换机
  • 计算机网络之物理层通信基础(信道、信号、带宽、码元、波特、速率、信源与信宿等基本概念)
  • IBM数据与人工智能系列 安装 IBM 编程助手
  • Baklib在企业知识管理中的突出优势与其他工具的深度对比研究
  • 解锁高效编程:C++异步框架WorkFlow
  • 柱量最大值转向
  • SpringBoot核心特性:自动配置与起步依赖
  • [免费]微信小程序智能商城系统(uniapp+Springboot后端+vue管理端)【论文+源码+SQL脚本】
  • 深入解析:一个简单的浮动布局 HTML 示例