c – 如果一个函数返回一个int,可以分配一个int吗?

前端之家收集整理的这篇文章主要介绍了c – 如果一个函数返回一个int,可以分配一个int吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果函数返回一个int,可以通过int值赋值吗?我没有看到为某个函数赋值是太意义的.
int f() {}

f() = 1;

我注意到,如果函数返回一个对int的引用,那就可以了.它只限于int吗?其他类型怎么样?或任何其他规则?

int& f() {}

f() = 1;

解决方法@H_404_10@
第一个函数返回一个整数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; }

你返回一个临时的引用,这在函数返回后不再有效.访问引用将引用未定义的行为.

原文链接:https://www.f2er.com/c/113728.html

猜你在找的C&C++相关文章