|
|
a
is a reference, and the rest were being initialised as copies. Seeing as C++ treats int&
and int
as different types, why isn't the type of int&
applied to the whole list? After all, this means that you can declare things of different types in the same list.
A "typical C programmer'' writes "int *p;'' and explains it "*p is what is the int'' emphasizing syntax, and may point to the C (and C++) declaration grammar to argue for the correctness of the style. Indeed, the * binds to the name p in the grammar. A "typical C++ programmer'' writes "int* p;'' and explains it "p is a pointer to an int'' emphasizing type. Indeed the type of p is int*. I clearly prefer that emphasis and see it as important for using the more advanced parts of C++ well. ... See The Design and Evolution of C++ for a longer discussion of the C declaration syntax. http://www.stroustrup.com/bs_faq2.html#whitespace |
|
|