On Sunday, 29 December 2013 at 22:11:22 UTC, monarch_dodra wrote:
On Sunday, 29 December 2013 at 21:47:52 UTC, Namespace wrote:
Well, a ref *can't* be null. In terms of default value, both
can have them, in terms of referencing a static object though.
The only functional difference I know of in pass-by-ref vs
pass-by-pointer is indeed the null pointer:
- Pass by pointer means you *can* pass a null (yay).
- But pass by ref means the implementation does not have to
worry about null references (yay).
bool isNullRef(ref int i)
{
return &i is null;
}
void main()
{
int* np = null;
assert(isNullRef(*np));
}