logoalt Hacker News

TinkersWyesterday at 7:31 PM2 repliesview on HN

Oh my bad, I read that as nullptr, I use a custom optional that does not support such a silly mode as "disengaged"


Replies

canypyesterday at 7:44 PM

How is that an optional then?

The problem is not nullopt, but that the client code can simply dereference the optional instead of being forced to pattern-match. And the next problem, like the other guy mentioned above, is that you cannot make any claims about what will happen when you do so because the standard just says "UB". Other languages like Haskell also have things like fromJust, but at least the behaviour is well-defined when the value is Nothing.

maccardyesterday at 9:55 PM

What do you return if there is no value set? That’s the entire point of optional.