Pointers vs. References
Lionello Lunesu
lio at lunesu.remove.com
Wed Jun 13 00:24:47 PDT 2007
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.
More information about the Digitalmars-d
mailing list