当前位置首页 > 百科> 正文

c++ 11 tie

2019-07-01 06:55:26 百科

c++ 11 tie

tie()函式可以将变数连线到一个给定的tuple上,生成一个元素类型全是引用的tuple,相当于make_tuple(ref(a),ref(b),…)。可以通过tie()函式的使用方便的对tuple进行“解包”操作。

代码

#include <iostream>
#include <tuple>
int main ()
{
int myint;
char mychar;
float myfloat;
std::tuple<int,float,char> mytuple;
mytuple = std::make_tuple (10, 2.6, 'a'); // packing values into tuple
//std::tie (myint, std::ignore, mychar) = mytuple; // unpacking tuple into variables 【1】
std::tie (myint,myfloat, mychar) = mytuple;
std::cout << "myint contains: " << myint << std::endl;
std::cout << "mychar contains: " << mychar << std::endl;
std::cout << "myfloat contains: "<< myfloat <<std::endl;
std::get<0>(mytuple) = 100;//修改tuple的值
std::cout <<"After assignment myint contains: "<< std::get<0>(mytuple) << std::endl;
return 0;
}

运行结果

myint contains: 10
mychar contains: a
myfloat contains: 2.6
After assignment myint contains: 100
注:正如【1】处我们可以使用std::ignore,从而不用关联tuple中的第二个元素.
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net