先说第一个问题吧。就是在函数前加一个const,一般人都会说返回值是常量。这是肯定的,但是有一个问题是值得深思的。这有什么卵用呢?一般我们调用函数之后返回值都是右值,所以说返回一个常量没有什么意义是有一定道理的。例如:
const int get()
{
int x = 9;
return x;
}
// main body;
auto x = get();
那么这么调用的时候就没有什么卵用啊,因为函数的返回值只是一个临时变量。赋值给x之后就回收了,它是否是常量貌似没有什么意义呀。我想了一下我觉得存在即合理,我想到了一种比较有用的调用方式。如果返回值是一个指针呢?那么意义是否就值得去思考了呢?
const int* get()
{
auto x = new int(9);