【发布时间】:2018-05-23 15:11:32
【问题描述】:
我只是在学习图的数据结构。我被困在这种情况下。
我已经写了我的Graph 类,比如
template <char... Args>
class Graph{};
其中char 类型的Args 表示我的Graph 的顶点。
但是,当我想在我的图表中搜索时,我需要将char 的每个顶点及其在Args 中的索引作为std::pair<char,size_t> 插入std::map<char,size_t>。我所做的是我构造了一个@987654330 @点赞
std::tuple<decltype(Args)...> t(Args...);
那我就想做这样的
for(size_t i =0;i<sizeof...(Args);++i)
Map.insert({0,std::get<i>(t)});
哪个 Map 表示std::map<size_t,char>。
它肯定不起作用,因为std::get<> 中使用的i 不是constexpr。
我现在能做的就是像
Map.insert({0,std::get<0>(t)});
Map.insert({1,std::get<1>(t)});
Map.insert({2,std::get<2>(t)});
但这不是我想要的结果。那么还有其他适合我的解决方案吗?
感谢您的帮助!
【问题讨论】: