What expressions create xvalues?

There is a helpful non-normative note in the introduction to §5 (C++11 §5[expr]/6): [ Note: An expression is an xvalue if it is: the result of calling a function, whether implicitly or explicitly, whose return type is an rvalue reference to object type, a cast to an rvalue reference to object type, a class member … Read more

In C++, what categories (lvalue, rvalue, xvalue, etc.) can expressions that produce temporaries of class type fall into?

Every expression is one, and only one, of: lvalue xvalue prvalue The union of expressions that are lvalues and xvalues are known collectively as glvalues. The union of expressions that are xvalues and prvalues are known collectively as rvalues. Thus xvalue expressions are known both as glvalues and rvalues. The handy diagram found in Alf‘s … Read more