如果
函数返回一个int,可以通过int值赋值吗?我没有看到为某个
函数赋值是太意义的.
int f() {}
f() = 1;
我注意到,如果函数返回一个对int的引用,那就可以了.它只限于int吗?其他类型怎么样?或任何其他规则?
int& f() {}
f() = 1;
第一个
函数返回一个整数by-value,它是一个r值.您一般不能分配到r值.第二个f()返回一个整数的引用,它是一个l值,所以你可以指定它.
int a = 4,b = 5;
int& f() {return a;}
...
f() = 6;
// a is 6 now
注意:您不要为函数分配一个值,只需将其赋值给其返回值.
注意以下几点:
int& f() { int a = 4; return a; }
你返回一个临时的引用,这在函数返回后不再有效.访问引用将引用未定义的行为.