C++中 Vector和fcn之间的&是啥意思
constVector&fcn(intIdx)const{return_result[Idx];}能帮我分析一下这个结构吗?Vector里是一个Struct的合集。&是啥...
const Vector& fcn(int Idx) const
{
return _result[Idx];
}
能帮我分析一下这个结构吗? Vector里是一个Struct的合集。 &是啥意思 还有2个const是什么鬼 展开
{
return _result[Idx];
}
能帮我分析一下这个结构吗? Vector里是一个Struct的合集。 &是啥意思 还有2个const是什么鬼 展开
1个回答
展开全部
const Vector&是指定fcn函数的返回类型的。&说明返回的是一个引用(返回一个对Vector对象的引用),const说明通过返回的引用不能改变这个引用所引用(指向)的对象。第二个const说明fcn函数是一个常成员函数,它不能修改调用此函数的对象的值,在fcn函数内部也不能调用非常成员函数。
追问
回答的很好,但是对&还是不太理解。&加不加在这里有什么区别?对Vector类的对象的引用和直接返回Vector类的对象有啥区别?又不需要修改argument的值。
追答
如果不打算修改返回的引用指向(引用)的对象,区别不大。唯一的区别是直接返回一个Vector类的对象的话,会创建一个临时对象,消耗系统资源。
优特美尔电子
2024-11-20 广告
2024-11-20 广告
优特美尔商城是深圳市优特美尔电子有限公司所属的一站式电子元器件采购平台, 依托创始人在电子元器件18年的积累,目前平台汇集了近 3000家品牌供应商、近3000万现货SKU,海内外注册用户超过3万,日均询单2000+。 优特美尔商城基于货源...
点击进入详情页
本回答由优特美尔电子提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询