using Name = std::string;
using NodeType = int;
using ElementType = int;
std::tuple<Name, NodeType, ElementType> myTuple("hi", 12, 42);
cout<<std::get<NodeType>(myTuple)<<endl;
这会产生编译错误。
我可以使用 std::get<1>(myTuple)
但读起来并不容易 std::get<NodeType>(myTuple)
,在这种情况下,有什么办法可以按类型获取值吗?
最佳答案
NodeType
和ElementType
是同一类型,即int
。 typedef
和 using
不会创建新类型,只会创建名称。
所以不,您不能按类型获取最后一个条目中的任何一个,因为它们的类型在元组中不是唯一的。
关于c++ - 是否可以通过重复的 std::tuple 的类型名称获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38919479/