问 在 C++ 中,"int& foo "是什么意思?
最编程
2024-06-21 08:18:43
...
int& foo();
声明一个名为foo的函数,该函数返回对int
的引用。这些示例没有给出可以编译的函数的定义。如果我们用
int & foo()
{
static int bar = 0;
return bar;
}
现在我们有了一个函数,它返回对bar
的引用。由于bar是static
,它将在调用函数之后继续运行,因此返回对它的引用是安全的。现在如果我们这么做
foo() = 42;
我们将42赋值给bar
,因为我们分配给引用,而引用只是bar
的别名。如果我们再次调用这个函数
std::cout << foo();
它将打印42,因为我们将bar
设置为上述。
上一篇: ES 复杂 DSL ES 装饰器