views:

135

answers:

1

n3035 says:

A variable is introduced by the declaration of an object. The variable's name denotes the object.

n3090 says:

A variable is introduced by the declaration of a reference other than a non-static data member or of an object. The variable's name denotes the reference or object.

I wonder what motivated this change. Does it have to do with rvalue references?

+8  A: 

The change was in response to CWG defect 633. The list of changes related to this can be found in n2993:

The goal of these changes is to expand the meaning of "variable" to encompass both named objects and references, and to apply the term consistently wherever feasible.

James McNellis
In my opinion that was one of the most disgusting defects in C++03 :) Sadly the other disgusting one [won't be fixed](http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#554) by C++0x :(
Johannes Schaub - litb
FredOverflow