C++返回引用类型时,是否可以返回一个算术表达式?为什么?

2024-12-03 07:18:57
推荐回答(5个)
回答1:

不可以。因为算术表达式的值被赋给函数返回类型的匿名对象,在函数运行后,匿名对象会被销毁,返回这个变量的引用是没有意义的

回答2:

可以。例如:
string& f()
{
return new string("asdf");
}
这里new string("asdf");显然就是一个表达式。
如果返回的是引用,你要保证返回的这块内存不会在函数完了之后就不能用了。

回答3:

在return这个命令来说,他只能返回一个值!表达式是不行的

回答4:

没有 算术表达式 这样一种类型,所以用return是没办法返回的.
解决方法:
1 将表达式转换成字符串返回
2 自己定义表达式类

回答5:

if(...)
cout<<".....";
else
cout<<".....";
//?????