I'm writing a small C++11 library in which I believe std::optional would be a nice addition in some functions which can return nullptr. However, std::optional is a C++17 feature. Since being C++11 is a requirement, I'm looking for ways to use std::optional while keeping compatibility.
I found that feature macros can be tested. I suppose I could use it to detect whether std::optional is available... but what's the best approach when it isn't?
Should I provide my own std::optional implementation?
Return nullptr when std::optional isn't available? (Likely to mess my code.)
Or give up on the idea and keep returning nullptr only?
Aucun commentaire:
Enregistrer un commentaire