/*STL:list string array vector
vector返回值是引用的特性,,下面是三种给vector赋值的方法
*/
#include<iostream>
#include<vector>
vector返回值是引用的特性,,下面是三种给vector赋值的方法
*/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> v1;
{
vector<int> v1;
v1.push_back(1);
v1.push_back(2);
int &j=v1[0];//j=1,,,函数返回值类型是int &
int &i=v1[1];
cout<<i<<endl;//i=2,,,说明向量和数组是一样的,第一个元素下标是0
//getchar();
v1.push_back(2);
int &j=v1[0];//j=1,,,函数返回值类型是int &
int &i=v1[1];
cout<<i<<endl;//i=2,,,说明向量和数组是一样的,第一个元素下标是0
//getchar();
/*j=-1;
i=-2;
i=-2;
int x=0;
while(x<(v1.size()))
{
cout<<v1[x++]<<endl;//结果不是1,2了,而是-1,-2。。。要明白引用,i j相当于挂在向量元素上,两者是一体的
//getchar();
}*/
while(x<(v1.size()))
{
cout<<v1[x++]<<endl;//结果不是1,2了,而是-1,-2。。。要明白引用,i j相当于挂在向量元素上,两者是一体的
//getchar();
}*/
int x=0;
while(x<v1.size())
{
v1[x]=8+x++;//循环体里面总要有一个x对循环条件的x改变,,这样才不是死循环
}
x=0;
while(x<v1.size())
{
cout<<v1[x++]<<endl;//返回值是引用才可以做左值,像int型就不可以
}
getchar();//这个函数放在不同位置输出不同,得:cout是让内容存放在缓冲区里,getchar()是输出到屏幕上
return 0;
}
while(x<v1.size())
{
v1[x]=8+x++;//循环体里面总要有一个x对循环条件的x改变,,这样才不是死循环
}
x=0;
while(x<v1.size())
{
cout<<v1[x++]<<endl;//返回值是引用才可以做左值,像int型就不可以
}
getchar();//这个函数放在不同位置输出不同,得:cout是让内容存放在缓冲区里,getchar()是输出到屏幕上
return 0;
}