请教一个关于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就更不用说了
[解决办法]
VC6就算了吧,换VC7以上或者devcpp。
[解决办法]
那是因为你看的是C++标准的东西,而vc并不是完全符合C++标准的,但是VC7要比VC6更符合C++标准.
[解决办法]
版本在跟进,但函数的实质没有变,关键去理解函数的实质去.
[解决办法]
看 标准的···