关于iterator的简单问题
#include <vector>
#include <iostream>
using namespace std;
int main( )
{
vector <int>::iterator v1_Iter;
vector <int> v1;
cout << "v1 =" ;
for ( v1_Iter = v1.begin( ) ; v1_Iter != v1.end( ) ; v1_Iter++ )
cout << " " << *v1_Iter;
cout << endl;
return 0;
}
查MSDN,iterator的定义:
template<class Category, class Type, class Distance = ptrdiff_t
class Pointer = Type*, class Reference = Type&>
struct iterator {
typedef Category iterator_category;
typedef Type value_type;
typedef Distance difference_type;
typedef Pointer pointer;
typedef Reference reference;
};
那它就是一个空结构,*v1_Iter又是什么意思呢?