Я написал код для проверки некоторой iterator_category типа итератора контейнера C ++.
#include <iostream> // std::cout
#include <iterator> // std::iterator_traits
#include <typeinfo> // typeid
#include <list>
#include <deque>
#include <stdio.h>
#include <vector>
#include <string>
#include <string.h>
using namespace std;
int main(int argc, char *argv[])
{
list<int>::iterator::iterator_category itr;
std::cout << typeid(itr).name() << endl;
std::cout << typeid(vector<int>::iterator::iterator_category).name() << endl;
std::cout << typeid(deque<int>::iterator::iterator_category).name() << endl;
std::cout << typeid(itr).name() << endl;
return 0;
}
Я запускаю этот код в editplus.
Но результат странный.
Что это «ST26» прежде чем тип значит?
Задача ещё не решена.
Других решений пока нет …