nonlvalue
A nonlvalue refers to an expression in programming languages, particularly those with lvalue and rvalue distinctions, that does not represent a modifiable memory location. In C++ and similar languages, an lvalue expression can appear on the left-hand side of an assignment operation, signifying that it refers to an object with a distinct identity and a memory address. Conversely, a nonlvalue, often called an rvalue, typically represents a temporary value or a value that cannot be directly modified.
Examples of nonlvalues include literal values, such as `5` or `"hello"`, and the results of most arithmetic