c++之修改vector中的元素
#include <iostream>
#include <windows.h>
#include <math.h>
#include <cstdio>
#include <cstring>
#include <vector>
using namespace std;
void vector_out(vector<int> &vector_in)
{
for (unsigned int i = 0;i<vector_in.size();i++)
{
if (i == vector_in.size()-1)
{
cout<<vector_in[i]<<endl;
}
else
cout<<vector_in[i]<<',';
}
}
int main()
{
string s("a2cdefghijklmn");
vector<int> abc(10);
if(abc.begin()!=abc.end())
{
for (unsigned int i = 0;i<abc.size();i++)
{
abc[i] = i+1;
}
cout<<"原始数据:"<<endl;
vector_out(abc);
auto &val2 = abc.back(); //val2为指向最后一个元素的引用
val2 = 2;
cout<<"变量为引用类型,修改后:"<<endl;
vector_out(abc);
auto val3 = abc.back();//仅是abc.back()的一个拷贝
val3 = 10;
cout<<"变量不是一个引用,修改无效:"<<endl;
vector_out(abc);
}
cin.get();
return 0;
}
运行结果: