1. vector两个迭代器相减
原先想法是这个:
template <typename T>
return((iter-iter_start)/sizeof(T));
后来发现c++两迭代器相减直接就是下标,参考:iter++
所以代码改为:
return(iter-iter_start);
2. 带模板的迭代器定义
直接这样将会报错:
vector<T>::iterator iter
百度查找的原因是:无法确定vector::iterator是成员变量还是数据类型
修改为
typename vector<T>::iterator iter