C++11:maketuple

技术C++11:maketuple C++11:make_tuple翻译来自:https://thispointer.com/c11-make_tuple-tutorial-example/
本文中,我

C 11:make_tuple

翻译来自:https://这个指针。com/c11-make _ tuple-教程-示例/

本文中,我们将讨论什么是std:make_tuple以及我们为什么需要它。

初始化一个 std::tuple

我们可以通过在构造函数中传递元素作为参数来初始化一个std:tuple,即

//创建和初始化一个元组

std:tuple int,double,STD :3360 string result 1 { 22,19.28,' text ' };

您可能已经观察到我们需要在元组中将参数类型指定为模板参数。如果元素数量更多,有时会很痛苦。

有了这个,就没有办法自动推断它们,即以下代码将给出编译错误即

//编译错误,因为无法推断元组中元素的类型

自动结果{ 22,19.28,' text ' };//编译错误

错误:无法从“{22,1.9280000000000001e,text'}”推导出STD :3360初始值设定项_列表_ Tp '

自动结果{ 22,19.28,' text ' };

但是c 11提供了一些可以帮助我们避免这种痛苦的东西,即std::make_tuple。

std::make_tuple

std:make_tuple通过从参数类型推导出元组中元素的目标类型来创建一个标准:图对象。

让我们通过一个例子来理解,

//使用std:make_tuple创建一个元组

自动结果2=STD : make _ tuple(7,9.8,' text ');

这里我们没有指定标准:图对象结果封装的任何类型的元素。

std:make_tuple做了以下事情,

std::make_tuple接受三个参数并自动推导出它们的类型为int、double和字符串。然后它在内部创建了一个std:tupleint,double,std:string对象并初始化它并返回它。

//使用std:make_tuple创建元组

自动结果=STD : make _ tuple(7,9.8,' text ');

因此,基本上std:make_tuple有助于自动推导元组类型。

完整的例子如下

#包含输入输出流

#包含元组

#包含字符串

int main()

{

//创建和初始化元组

std:tupleint,double,STD :3360 string result 1 { 22,19.28,' text ' };

//编译错误,因为无法推断元组中元素的类型

//自动结果{ 22,19.28,' text ' };//编译错误

//使用std:make_tuple创建元组

自动结果2=STD : make _ tuple(7,9.8,' text ');

//std:make_tuple自动推导类型并创建元组

//打印值

STD : cout ' int value=' STD :3360 get 0(结果2)STD : endl;

STD : cout ' double value=' STD : get 1(结果2)STD : endl;

STD : cout '字符串值=' STD : get 2(结果2)STD : endl;

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112522.html

(0)

相关推荐

  • MySQL多表操作与事务

    技术MySQL多表操作与事务 MySQL多表操作与事务一、多表查询1.笛卡尔积概念:有两个集合A,B,取这两个集合的所有组成情况。要完成多表查询需要消除无用的数据。2.多表查询的分类内连接查询1.隐式内

    礼包 2021年11月4日
  • 过氧化氢的化学式,过氧化氢分解的化学方程式

    技术过氧化氢的化学式,过氧化氢分解的化学方程式过氧化氢分解制氧气的化学方程式过氧化氢的化学式:2H₂O₂(MnO₂催化剂)=2H₂O+O₂↑。过氧化氢的化学式为H₂O₂,其水溶液俗称双氧水,外观为无色透明液体,是一种强氧

    生活 2021年10月22日
  • 为什么strace在Docker容器中无法工作

    技术为什么strace在Docker容器中无法工作本篇内容主要讲解“ 为什么strace在Docker容器中无法工作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ 为什么st

    攻略 2021年11月2日
  • spring事件机制实例(spring事件机制详解)

    技术Spring的事件机制知识点有哪些这篇文章主要讲解了“Spring的事件机制知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring的事件机制知识点有哪

    攻略 2021年12月20日
  • git_stats web代码图形统计工具怎么使用

    技术git_stats web代码图形统计工具怎么使用这篇文章主要讲解了“git_stats web代码图形统计工具怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“

    攻略 2021年12月10日
  • JS 创建元素的三种方法

    技术JS 创建元素的三种方法 JS 创建元素的三种方法1、动态创建元素一 document.write()例如向页面中输出一个 li 标签pre class="html" name="code"span

    礼包 2021年11月14日