Chciałbym utworzyć std::map
, który zawiera std::vector
z iteratorów w sobie, aby zaimplementować prostą strukturę graficzną opartą na listach przyległych.Mapa STL na siebie?
Jednak deklaracja typ ma mnie stumped: wydaje się, trzeba całą definicję typu map, aby uzyskać typ iteracyjnej wspomnianych map, tak:
map< int, Something >::iterator MyMap_it; // what should Something be?
map< int, vector<MyMap_it> > MyMap_t;
Czy istnieje jakiś częściowej mapy iterator typ I można uzyskać za pomocą tylko typu klucza, więc mogę zadeklarować pełną mapę?
Interesting..sounds jak nieskończonej rekurencji. – Naveen
Tak właśnie myślałem. – GManNickG
Tylko okrągły wskaźnik ... nie ma rekursji, chyba że <> :: iterator spróbuje zrobić coś znaczącego z argumentem typu.Które byłoby całkowicie legalne, aby to zrobić, po prostu nie dzieje się w GCC + SGI STL. – Potatoswatter