Можем ли мы иметь структуру данных, такую ​​как map <string, pair <string, list >>? - PullRequest
0 голосов
/ 09 марта 2012

Я хочу иметь структуру данных следующего типа в c ++.

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

Есть предложения?

Ответы [ 2 ]

4 голосов
/ 09 марта 2012
map<string,pair<string,vector>>

Нет.Вы не можете иметь такую ​​структуру данных.

Причина в том, что vector - это шаблон класса, что означает, что он требует, чтобы вы передавали type в качестве аргумента шаблона.Если вы сделаете это, то у вас наверняка будет такая структура данных:

map<string,pair<string,vector<T>>> data;

, где T - некоторый тип.

Обратите внимание, что если вы используете C ++03 (или C ++ 98), тогда вы должны поставить дополнительное пространство между каждой парой >, значит >>> должно выглядеть как > > >.Однако в C ++ 11 дополнительное пространство не требуется, значит >>> должно работать нормально.

0 голосов
/ 09 марта 2012

Да, вы можете

std::vector<string>cache_entry
std::tr1::unordered_map<string,cache_entry>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...