Pointers vs. References
Dan
murpsoft at hotmail.com
Wed Jun 13 04:05:56 PDT 2007
Lionello Lunesu Wrote:
> Michael Neumann wrote:
> > Synapse x = ...;
> > while (x != null)
> > {
> > }
> >
> > This segfaults, while:
> >
> > Synapse x = ...
> > while (!(x is null))
> > {
> > }
> >
> > does not.
>
> That's not a bug.
> '==' and '!=' result in a call to opEquals, which is likely to segfault
> when one of the operands is null. You should use 'is' or in your case '!is'.
>
> while (x !is null)
> {
> }
>
> As for your question about references. A reference is basically the same
> as a pointer, so there should be no performance difference between the
> two. Without more details, it's hard to say what could be the reason
> behind the bad performance.
>
> L.
Heh... using classes in any language will cut your performance compared to using structs. D has nice structs. References are pointers to pointers to something; not "the same". Also, using while(x !is null) after explicitly defining it is usually wrong; you usually want do { ... } while(x !is null); That's all I can gather though from your vague post.
More information about the Digitalmars-d
mailing list