我编写了一个代码来测试 C++ 容器迭代器类型的一些 iterator_category。
#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”是什么意思?