gpt4 book ai didi

c++ - vector::引用

转载 作者:搜寻专家 更新时间:2023-10-31 00:21:12 27 4
gpt4 key购买 nike

给出这个定义:

vector<some_struct_t> lots_of_stuff;

事实上 vector::at 返回一个引用,这段代码对我来说很有意义:

some_struct_t & ref_element = lots_of_stuff.at(0);

但是,这段代码也可以编译并且似乎可以工作:

some_struct_t val_element = lots_of_stuff.at(0);

非引用如何在这里工作?是否调用了复制构造函数?为什么会这样?

最佳答案

非引用对象从返回的对象引用中复制一份。对您的对象所做的更改不会像引用版本那样应用于 vector 中的对象。

关于c++ - vector::引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4911187/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com