aka*_*ash 3 c++ function
任何人都可以解释输出吗?
#include<iostream> using namespace std; int &fun(){ static int x = 10; return x; } int main(){ fun() = 30; cout << fun(); return 0; }
输出是30
sha*_*oth 10
这就是静态本地工作的方式 - 它们在函数调用之间保持值.基本上fun()有一个静态局部并返回对它的引用,效果与全局变量的效果大致相同.
fun()
Luc*_*ore 2
您通过引用返回静态,因此当您这样做时,fun() = 30您会更改它。
fun() = 30
很清楚,不是吗?
基本上,foo()返回对 的引用x。
foo()
x
归档时间:
13 年,9 月 前
查看次数:
1200 次
最近记录: