我正在编写一个小型 C++11 库,我相信std::optional它会是一些可以返回nullptr. 然而,std::optional这是 C++17 的功能。由于 C++11 是一项要求,因此我正在寻找在std::optional保持兼容性的同时使用的方法。
我发现功能宏可以测试。我想我可以用它来检测是否std::optional可用......但是当它不可用时最好的方法是什么?
我应该提供自己的std::optional实现吗?
不可用nullptr时返回?std::optional(可能会弄乱我的代码。)
还是放弃这个想法,nullptr只继续返回?