下面的一段代码是为了验证insert对deque和vector的影响,可是出来的结果让我不是很理解,求解释!
程序代码:
#include <vector>
#include <deque>
#include <iostream>
using namespace std;
int main ()
{
char str[] = "fuckyou";
vector<char> v1(&str[0],&str[sizeof(str)]);
deque<char> q1(&str[0],&str[sizeof(str)]);
vector <char>::iterator vitr=v1.begin();
cout<<*(vitr)<<endl;
v1.insert(v1.begin()+2,'a');
cout<<*(vitr)<<endl;//我不明白这一行的输出结果,求解释。
cout<<"-----------------------"<<endl;
deque <char>::iterator qitr=q1.begin();
cout<<*(qitr)<<endl;
q1.insert(q1.begin()+2,'a');
cout<<*(qitr)<<endl;
return 0;
}
编译环境:centos g++
结果:
f
(空)//这块为什么不输出?
-----------------------
f
u






