#include <iostream> #include <vector> // print elements of an STL container template <typename T> void printcoll (T const& coll) { typename T::const_iterator pos; // iterator to iterate over coll typename T::const_iterator end(coll.end()); // end position for (pos=coll.begin(); pos!=end; ++pos) { std::cout << *pos << ' '; } std::cout << std::endl; } //调用的参数是一个T类型的STL容器 int main() { std::vector<int> v; v.push_back(42); v.push_back(13); v.push_back(7); printcoll(v); } //在C++的标准化过程中,引入关键字typename是为了说明:模板内部的标识符可以使一个类型