What is the difference between initializing an object and computing a value?

142 Views Asked by At

From the Working Draft, Standard for Programming Language C++, [basic.lval/5]:

The result of a glvalue is the entity denoted by the expression. The result of a prvalue is the value that the expression stores into its context; a prvalue that has type cv void has no result. A prvalue whose result is the value V is sometimes said to have or name the value V. The result object of a prvalue is the object initialized by the prvalue; a non-discarded prvalue that is used to compute the value of an operand of a built-in operator or a prvalue that has type cv void has no result object.

[Note 4: Except when the prvalue is the operand of a decltype-specifier, a prvalue of class or array type always has a result object. For a discarded prvalue that has type other than cv void, a temporary object is materialized; see [expr.context]. — end note]

What is the difference between initializing an object and computing a value?

Some examples of each would be appreciated.

0

There are 0 best solutions below