C++ vector拷贝与引用

vector的拷贝与引用与普通的变量相似,实例如下:


//拷贝

vector<int> adder_cp(vector<int> vec)

{

    for(int i = 0; i<vec.size();i++)

        vec[i] += i;

    return vec;

}


//引用

void adder_in(vector<int> &vec)

{

   for(int i = 0; i<vec.size();i++)

        vec[i] += i;

}


void display(vector<int> &vec)

{

 for(int i = 0; i<vec.size();i++)

        cout<<vec[i]<<" ";

cout<<endl;

}


int main()

{

    vector<int> vec(5,1);

    display(vec);

    vector<int> temp = adder_cp(vec);

    display(vec);

    display(temp);

    adder_in(&vec);

    display(vec);

    return 0;

}



最终输出结果如下:

1 1 1 1 1 

1 1 1 1 1

1 2 3 4 5

1 2 3 4 5


分析:

vector<int> temp = adder_cp(vec);//这里传入的是vec的一个拷贝,操作拷贝不影响vec

 adder_in(&vec);//这里传入的是vec地址,函数中的操作改变vec的值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容