Re: More keyword abomination by C++0x
"Nevin :-] Liber" <nevin@eviloverlord.com> wrote in message
news:nevin-7C5A09.17343327042009@chi.news.speakeasy.net...
In article <49f5e038$0$2539$da0feed9@news.zen.co.uk>,
"Chris Morley" <chris.morley@lineone.net> wrote:
What _problem_ do
references even solve?
If you didn't have references, what would you return from operator=(),
operator++(), etc.?
Could have been done with pointers, but wasn't so doesn't really matter ;)
mytype* operator=(const mytype* Rhs) { ...; return this;}
Would have worked equally as well.
There is just so much duplication across pointers & references in my
opinion. References make for neater reading code:
int foo(int& a, int& b) {return a-b;} vs. int foo(int* a, int* b) {return
*a-*b;} & . instead of ->
But anytime you want 'object or NULL' behaviour I use pointers anyway.
It is so easy to miss out an "&" and write a copy constructor that
accidentaly takes a value, or an operator which returns by value/reference
instead of reference/value. With pointers 9/10 times an error will be
flagged immediately as the compiler complains that it can't convert the
types.
Yep, they are in the language and no they won't go. Now they are required
but they never solved any _problem_ as far as I can see. I just don't like
them.
Chris
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]