C++ 元组库 - make_tuple


描述

它构造一个适当元组类型的对象来包含 args 中指定的元素。

宣言

以下是 std::make_tuple 的声明。

C++98

	
template<class... Types>
   tuple<VTypes...> make_tuple (Types&&... args);

C++11

template<class... Types>
   tuple<VTypes...> make_tuple (Types&&... args);

参数

args - 它包含构造的元组应包含的元素列表。

返回值

它返回一个适当类型的元组对象来保存参数。

例外情况

无抛出保证- 该成员函数永远不会抛出异常。

数据竞赛

如果 Types 中的任何类型是支持移动语义的类型的右值引用,则修改其相应的参数。

例子

在下面的 std::make_tuple 示例中。

#include <iostream>
#include <tuple>
#include <functional>

int main() {
   auto first = std::make_tuple (10,'a');

   const int a = 0; int b[3];
   auto second = std::make_tuple (a,b);

   auto third = std::make_tuple (std::ref(a),"abc");

   std::cout << "third contains: " << std::get<0>(third);
   std::cout << " and " << std::get<1>(third);
   std::cout << std::endl;

   return 0;
}

输出应该是这样的 -

third contains: 0 and abc
元组.htm