vector<int> vec(100);
vector<int>::iterator p;
p = &vec[0]; ---->这里编译不通过吧?好像要通过强制转换才行,如下:
#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> ivec;
vector<int>::iterator it;
ivec.push_back(3);
it=(vector<int>::iterator)&ivec[0];
cout<<*it;
}
但当vector中没元素时,ivec.begin()是有意义的,&ivec[0]是没定义的使用它肯定报错。
vector<int> ivec;
if (ivec.begin()==ivec.end()) //正确
{
//...
};
[
本帖最后由 gz81 于 2009-9-21 16:24 编辑 ]