vector可以直接通过下标访问,list不可以

1、vector

for (int i = 0; i < userTypes.size(); i++)
{
   str = userTypes[i].typeName;
}

2、list

for (plist = list.begin(); plist != list.end(); plist++)  
        cout << *plist << " "; 

vector拥有一段连续的内存空间,能很好的支持随机存取,
因此vector<int>::iterator支持“+”,“+=”,“<”等操作符。

list的内存空间可以是不连续,它不支持随机访问,
因此list<int>::iterator则不支持“+”、“+=”、“<”等

vector<int>::iterator和list<int>::iterator都重载了“++”运算符。