Petded a écrit :
> Hi,
>
[quoted text clipped - 11 lines]
>
> Why c++ uses :: and what does it represent, a why c# just uses a .
In C++, "::" is used as the scope resolution operator for namespaces
and static members, whereas "." is used to derefrence a member of an
actual object. Also, "->" is used to dereference a pointer (if you need
to know the difference between a pointer, an object and a reference, I
suggest you pick up a good C++ introductory book, because newsgroup are
not the good place to learn those things).
> Also C# only ever uses a . whereas sometimes c++ uses -> instead of ::
Yep, and IMHO C# is wrong to use the same syntax to do different things
: it makes things a little simplier for beginners, but at the end ot
day it messes up the whole thing.
Arnaud
MVP - VC
Petded - 15 Jun 2006 12:50 GMT
Thanks
>Petded a écrit :
>
[quoted text clipped - 29 lines]
>Arnaud
>MVP - VC
Peter Ritchie - 16 Jun 2006 19:05 GMT
Arnaud, you can't use "::", '.', or "->" in the same places (i.e. they're
context sensitive), so *why not* consolotate them into one overridden
"operator".
Is
a.b();
a.c.d();
a.e variable;
really less clear than:
a::b();
a::c->d();
a::e variable;
?

Signature
http://www.peterRitchie.com/
> Petded a écrit :
>
[quoted text clipped - 29 lines]
> Arnaud
> MVP - VC
Arnaud Debaene - 16 Jun 2006 23:34 GMT
> Arnaud, you can't use "::", '.', or "->" in the same places (i.e. they're
> context sensitive), so *why not* consolotate them into one overridden
[quoted text clipped - 11 lines]
> a::c->d();
> a::e variable;
I believe so, because when reading code that you don't know, it make clear
wether "a" is a namespace or a class, an object instance or a pointer, which
is not always immediatly obvious...
Arnaud
MVP - VC
> Hi,
>
[quoted text clipped - 13 lines]
>
> Also C# only ever uses a . whereas sometimes c++ uses -> instead of ::
Others have explained to you the difference... but this statement is not
true. C# also uses -> to for pointer-dereferencing member access.
In both languages, with p being a pointer (compile error otherwise):
p->val
is exactly equivalent to
(*p).val
> thanks for any help