我正在阅读Thomas Becker撰写的有关c ++ 11 rvalue引用的博客,页面底部附近的以下语法确实使我感到困惑。
int& foo();
foo() = 42; // ok, foo() is an lvalue
到底是foo
什么?返回的函数指针int
; 一个东西?
如果是函数对象,如何为它分配值,为什么是foo
左值?
foo
是具有返回类型的函数int&
。线
int& foo();
只是声明函数,但没有定义它。
当foo
被调用时,其结果是型的左值int
。因此,您可以为其分配:foo() = 42;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句