An lvalue is a named expression associated with an identifiable object and its persistent location. In `int x = 42`, `x` is an lvalue, while `42` is an rvalue. section 2.2.3
The distinction matters when vectors receive data. A named vector such as `data` is copied through `push_back(const T&)`; an unnamed temporary from `get_next_row` can use `push_back(T&&)` and move its elements instead. section 2.2.3
void push_back( T&& value );
Compare the rvalue-reference overload with the const-reference overload to see how value categories influence vector insertion. section 2.2.3
