我想创建一个std::map
包含迭代器本身的std::vector
,实现一个简单的基于列表的邻接图结构。STL地图本身?
然而,类型声明有我难住了:这似乎需要整个地图类型定义,以获得迭代器类型的表示图,就像这样:
map< int, Something >::iterator MyMap_it; // what should Something be?
map< int, vector<MyMap_it> > MyMap_t;
是否有某种形式的部分地图迭代我只能使用键类型获得类型,所以我可以声明完整的地图?
Interesting..sounds像无限递归。 – Naveen 2009-09-10 05:32:57
这就是我的想法。 – GManNickG 2009-09-10 05:38:42
只是一个循环指针......除非map <> :: iterator试图用它的类型参数做一些有意义的事情,否则不会有递归。这对于它来说是完全合法的,只是在GCC + SGI STL中不会发生。 – Potatoswatter 2009-09-10 07:05:26