Expressions

An expression is a sequence of operators and their operands, that specifies a computation.

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
CWG 1054C++98assigning a value to a volatile variable mightresult in an unnecessary read due to the lvalue-to-rvalue conversion applied to the assignment resultintroduce discarded-value expressionsand exclude this case from the listof cases that require the conversion
CWG 1343C++98sequencing of destructor calls inaggregate initialization was underspecifiedfull-expressions in aggregate initializationare well-specified
CWG 1383C++98the list of expressions where lvalue-to-rvalueconversion is applied to discarded-valueexpressions also covered overloaded operatorsonly cover operatorswith built-in meaning
CWG 1576C++11lvalue-to-rvalue conversions were not appliedto discarded-value volatile xvalue expressionsapply the conversionin this case
CWG 2249C++98identifiers to be declared in declaratorswere not id-expressionsthey are
CWG 2431C++11the invocations of the destructors of temporaries thatare bound to references were not full-expressionsthey are

# See also