The C++ Data Types
// function g() returns the reference of v[I]
int& g(int I) { return v[I];}
// function main can not directly access the elements of v[ ]
g(3) = 7; // same as v[3] = 7
// Notice that a function call can be placed on the left side of an
// the expression g(3) is called an lvalue since g() returns a