Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It always involve an undefined behaviour at creation of the 'null reference', there is no legal way to create it.


True. In any case references solve only half of the problem because it lets you state "this function will not take a null pointer". You still cannot say "this function may take a null pointer" unless you use a very unusual convention of saying that any pointer argument may take a null pointer.


I don't find that convention unusual. That's how I (and everyone at my company) writes code every day. If an argument is a pointer, that means it may be null. If it may not be null, it should be a reference.


And the libraries that you use?

E.g.,

std::size_t std::strlen(const char* str);




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: