【发布时间】:2020-07-14 11:46:44
【问题描述】:
所以,我试图使用带有变量的 std::get 来搜索元组的某个位置。但令我惊讶的是,我无法使用元组访问任何位置。 你们知道为什么以及如何克服这个问题吗?我需要很多可以给我不同类型的容器。
我会把我的代码放在这里:
#include <iostream>
#include <tuple>
struct MyStruct
{
std::tuple<int, float> t;
int pos;
} myStruct;
int main()
{
MyStruct* var = new MyStruct();
var->t = std::make_tuple(1,2.33);
var->pos = 1;
std::get<1>(var->t); //this works
std::get<var->pos>(var->t); //this doesn't work but i need to search "dynamically"
}
最好的问候!
【问题讨论】:
-
您确定要一个元组还是
std::variant? -
如果你可以从不同类型的元组中获取特定元素,你能做什么?你能展示任何真实世界的用例吗!
-
可以通过变量访问的元组拼写为
std::array。
标签: c++ tuples containers