c – 从函数返回本地对象

c – 从函数返回本地对象,第1张

概述这是从函数返回对象的正确方法吗? Car getCar(string model, int year) { Car c(model, year); return c;}void displayCar(Car &car) { cout << car.getModel() << ", " << car.getYear() << endl;}displayCar(getCa 这是从函数返回对象的正确方法吗?
Car getCar(string model,int year) {   Car c(model,year);   return c;}voID displayCar(Car &car) {   cout << car.getModel() << "," << car.getYear() << endl;}displayCar(getCar("Honda",1999));

我得到一个错误,“采取临时地址”.我应该用这种方法吗

Car &getCar(string model,year);   return c;}
解决方法 getCar返回一个Car值,这是正确的.

因为displayCar需要一个Car& amp;,所以不能把这个临时对象的返回值传递给displayCar.您不能将临时绑定到非常量引用.您应该更改displayCar以获取const引用:

voID displayCar(const Car& car) { }

或者,您可以将临时存储在本地变量中:

Car c = getCar("Honda",1999);displayCar(c);

但是,由于它不会修改对象,因此最好让displayCar引用一个const引用.

不要返回对本地Car变量的引用.

总结

以上是内存溢出为你收集整理的c – 从函数返回本地对象全部内容,希望文章能够帮你解决c – 从函数返回本地对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1233794.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存