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));
}

Reply via email to