Possible Duplicate:
What are the differences between pointer variable and reference variable in C++?
I was reading an article on rvalues in order to understand universal references from the new C++ Standard and found the following as an example of lvalue
// lvalues:
//
int i = 42;
i = 43; // ok, i is an lvalue
int* p = &i; // ok, i is an lvalue
int& foo();
foo() = 42; // ok, foo() is an lvalue
int* p1 = &foo(); // ok, foo() is an lvalue
What does int& foo();
mean here?