The C++17标准是现代C++历史上的主要标准之一。C++17中的一个新库特性是std::make_from_tuple,它是一个新的函数模板,用于初始化类型为的值T型
来自给定元组的元素。在本文中,我们将解释如何在C++示例中使用std::tuple。
什么是C++中的std::tuple?
The 元组
( 标准::元组
)是一个类模板,是一个固定大小的不同类型值(如浮点、整数、文本等)的集合。在另一个术语中,元组存储不同类型的元素,它还支持空列表。此模板自C++11起提供,并在C++20标准中进行了改进。
标准::元组
是对标准::对
.的析构函数元组
如果中的每个类型的std::is_trivilly_destrutable<type>::value都设置为true,则为平凡类型
.
下面是一个在元组中定义不同类型成员并将其打印出来的示例,
|
标准::元组 我的名片 { "12345687", “Yilmaz Yoru”, 42}; 标准::cout公司 << “ID:” << 标准::得到<0>(我的名片) << 标准::端部; 标准::cout公司 << “姓名:” << 标准::得到<1>(我的名片) << 标准::端部; 标准::cout公司 << “年龄:” << 标准::得到<2>(我的名片) << 标准::端部; |
并且输出是,
|
身份证件:12345687 姓名:伊尔马兹尤鲁 年龄:42 |
如果您想了解更多关于std::tuple的信息,请查看我们下面的帖子,
什么是C++中的std::make_from_tuple?
这个从成对生成
(std::make_from_tuple)是在<元组>
初始化类型值的标头T型
来自给定元组的元素。它就像应用
应用于构造函数的模板。它可以与结构或类的构造函数一起使用。
std::make_from_tuple自C++17到C++23的语法,
|
模板<班 _泰伊, 班 _薄纱> 常量表达式 _泰伊从成对生成(_薄纱&& _Tpl公司); |
自C++23以来的std::make_from_tuple的语法,
|
模板<班 _泰伊, 元组-喜欢_薄纱> 常量表达式 _泰伊从成对生成(_薄纱&& _Tpl公司); |
如何在C++17中使用std::make_from_tuple
下面是一个使用我们定义的打印类构造函数标准::make_from_tuple,
1 2 三 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#包括<iostream> #包括<string> #包含<元组> 班 打印卡片(_C) { 公众的: 打印卡片(_C)(标准::一串 身份证件, 标准::一串 名称, 整数 年龄) { 标准::cout公司 << “ID:” << 身份证件 << 标准::端部; 标准::cout公司 << “姓名:” << 名称 << 标准::端部; 标准::cout公司 << “年龄:” << 年龄 << 标准::端部 << 标准::端部; } }; 整数 主要的() { 标准::元组卡片 = { "12345687", “Yilmaz Yoru”, 42 }; 标准::从成对生成<打印卡片(_C)>( 卡片 ); 系统(“暂停”); 返回 0; } |
这是输出,
|
身份证件:12345687 姓名:伊尔马兹尤鲁 年龄:42 按下任何钥匙到 持续 . . . |
有关C++17标准中此功能的更多详细信息,请参阅这些论文;P0209R2号
C++生成器是在Windows操作系统上构建简单或专业应用程序的最简单、最快的C和C++编译器和IDE。对于初学者来说,它也很容易学习,它有广泛的示例、教程、帮助文件和对代码的LSP支持。RAD Studio的C++Builder版本附带用于高性能本机Windows应用程序的屡获殊荣的VCL框架和用于UI的强大FireMonkey(FMX)框架。
有一个免费的C++Builder社区版,面向学生、初学者和初创公司;可以从以下网址下载在这里。对于专业开发人员,有专业版、架构师版或企业版的C++Builder,也有试用版可从下载在这里.