下面的一段代码是为了验证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