2 ms·
In the end there's not much difference between the two. In both cases you essentially call a function/operator to verify the correctness of the object. std::opt
by spacechild1 5y ago
In the end there's not much difference between the two. In both cases you essentially call a function/operator to verify the correctness of the object. std::optional doesn't really enforce a check, it only makes it more obvious to the user. On the other hand, returning std::optional means that it will always check the invariant, whether you need it or not, so there is a potential performance penalty. Just something to be aware of.