不可以。因为算术表达式的值被赋给函数返回类型的匿名对象,在函数运行后,匿名对象会被销毁,返回这个变量的引用是没有意义的
可以。例如:
string& f()
{
return new string("asdf");
}
这里new string("asdf");显然就是一个表达式。
如果返回的是引用,你要保证返回的这块内存不会在函数完了之后就不能用了。
在return这个命令来说,他只能返回一个值!表达式是不行的
没有 算术表达式 这样一种类型,所以用return是没办法返回的.
解决方法:
1 将表达式转换成字符串返回
2 自己定义表达式类
if(...)
cout<<".....";
else
cout<<".....";
//?????