我想在c ++中使用以下类型的数据结构。
map<string,pair<string,vector>>.
任何建议?
答案 0 :(得分:4)
map<string,pair<string,vector>>
没有。你不能拥有这样的数据结构。
原因是:vector
是一个类模板,这意味着它要求您将 type 作为模板参数传递给它。如果你这样做,那么你肯定可以拥有这样的数据结构:
map<string,pair<string,vector<T>>> data;
其中T
是某种类型。
请注意,如果您使用的是C ++ 03(或C ++ 98),那么您必须在每对>
之间留出额外的空间,意味着>>>
应该看起来像{{1 }}。但是,在C ++ 11中,不需要额外的空间,意味着> > >
应该可以正常工作。
答案 1 :(得分:0)
是的,你可以
std::vector<string>cache_entry
std::tr1::unordered_map<string,cache_entry>