【发布时间】:2021-02-05 20:56:13
【问题描述】:
我在测试用例中定义了这个元组,
std::tuple<int, string, string, double> t1 = { 1321, "xxxx", "xxxx", 1.68 }
我必须编写一个函数解包,我应该能够做到这一点:
int key; string first_name; string last_name; double height;
unpack(key, first_name, last_name, height) = t1;
我无法更改上面的定义,因为它们在测试用例中,我无法修改。
我知道函数应该这样声明:
&unpack()
我应该使用模板,但我不知道如何使用。感谢您的回答。
【问题讨论】:
-
这已经存在:
std::tie -
听起来并不多,但举一个简单的例子,我想你有答案了,@tkausl
-
你需要写函数
unpack还是你需要一个你描述的方式可以使用的函数? -
我不能使用 std::tie 因为它没有出现在我的函数应该通过的测试用例中。所以我必须编写函数 unpack 但我不知道该怎么做。
-
如果您在收到答案后更改问题,建议您明确更改内容。