#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
#if 0
template< class T>
struct iterator_traits
{
typedef typename T::iterator_category iterator_category;
typedef typename T::value_type value_type;
typedef typename T::difference_type difference_type;//表示两迭代器之间的距离
typedef typename T::pointer pointer;
typedef typename T::reference reference;
};
#endif
template<class T>
class iterator<const T*>
{
puclic:
iterator(){cout<<"ok?"<<endl;}
};
int main(void)
{
iterator< const int*> ok;
}