- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
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