Hacker News new | ask | show | jobs
by lmm 2964 days ago
That approach doesn't really work, because C++ conflates where a value is stored with whether the value can semantically be null. Sometimes you want a nullable value that's on the stack. Sometimes you want a non-null value in the heap. Both these things are hard to do in C++.
1 comments

Neither of those is hard to do in C++. The first one is std::optional. The second one is a reference or a non-nullable smart pointer like https://github.com/dropbox/nn
It's easy to do _since less than a year_
And probably not in your compiler yet. Or if it is, you'll blow up on thousands of other compilers when people try to build it themselves.
boost::optional has been available since 2003. There's no excuse.