The standard says
The variable is entered by the declaration of the object. A variable name denotes an object.
But what does this definition really mean?
Does the variable indicate a name for the object, i.e. Are variables just a naming mechanism for anonymous objects otherwise? Or is the variable the name itself?
Or is a variable a named object in the sense that each variable is also an object?
Or is the variable just a "proxy" with a name that "delegates" all operations to the real object?
To make things even more confusing, many C ++ books treat variables and objects as synonyms.
How do you feel about this?
About objects citing from a C ++ 0x project:
An entity is a value, an object, a link, a function [...]
Each name denoting an entity is entered by a declaration.
, , , . :)