STL是建立在泛化之上的。数组泛化为容器,参数化了所包含的对象的类型。函数泛化为算法,参数化了所用的迭代器的类型。指针泛化为迭代器,参数化了所指向的对象的类型。 typedef的意义: class Widget {...}; vector<Widget> vw; Widget bestWidget; // 给bestWidget一个值 ... vector<Widget>::iterator i = // 寻找和bestWidget相等的Widget find(vw.begin(), vw.end(), bestWidget); //要这么写: class Widget { ... }; typedef vector<Widget> WidgetContainer; typedef WidgetContainer::iterator WCIterator; WidgetContainer cw; Widget bestWidget; ... WCIterator i = find(cw.begin(), cw.end(), bestWidget);