我目前正在做这样的事情
typedef boost::tuple<std::string,std::string> My_tuple;
然后,当我需要将值放入其中时,我会执行以下操作
My_tuple tup = boost::make_tuple("StringA","StringB");
这很好但是我想知道如果我想稍后填充字符串值,而不是当我使用boost::make_tuple
时我的选项是什么?
答案 0 :(得分:4)
或者,如果要设置所有元素,请使用boost::tie
函数:
boost::tuple<std::string, std::string> t;
t = boost::tie("first", "second");
答案 1 :(得分:3)
元组是可变的,它的get
成员返回一个引用,所以当你需要更改字符串时,只需继续执行:
typedef boost::tuple<std::string, std::string> My_tuple;
My_tuple tup = boost::make_tuple("", "");
boost::get<0>(tup) = "StringA";
boost::get<1>(tup) = "StringB";