我们可以有一个数据结构,如map <string,pair <string,list>&gt;?</string,pair <string,list>

时间:2012-03-09 10:02:55

标签: c++ data-structures

我想在c ++中使用以下类型的数据结构。

map<string,pair<string,vector>>.

任何建议?

2 个答案:

答案 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>