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