请教一个关于STL的菜鸟问题
我刚刚接触STL,在“C++入门经典中说”Iterator的结构定义有五个参数:
template<class Category,class T,class Distance,Class Pointer,class Reference>
struct iterator{...}
而我查MSDN怎么就三个参数呢?
template<class C, class T, class Dist = ptrdiff_t>
struct iterator {
typedef C iterator_category;
typedef T value_type;
typedef Dist distance_type;
};
而且我用“C++入门经典”上的例子测试,出错,说参数数目不对。我改成三个就没有 错误了。但是其他的一些tag之类的定义还是有出入?请问这是为什么呀?
“C++入门经典”不能写错吧,MSDN就更不用说了