我正在编写一个小型 C++11 库,我相信其中std::optional
在某些可以返回的函数中将是一个很好的补充nullptr
。然而,std::optional
是 C++17 的一项功能。由于 C++11 是一项要求,我正在寻找使用方法std::optional
同时保持兼容性。
我找到特征宏 https://en.cppreference.com/w/User:D41D8CD98F/feature_testing_macros#C.2B.2B17可以测试。我想我可以用它来检测是否std::optional
可用...但是如果不可用,最好的方法是什么?
我应该提供自己的std::optional
执行?
Return nullptr
when std::optional
不可用? (可能会弄乱我的代码。)
或者放弃这个想法并继续返回nullptr
only?
使用这个标题:https://github.com/TartanLlama/可选 https://github.com/TartanLlama/optional
它相当于 std::Optional。但它也适用于 C++11。
当您升级到 C++17 时,请将代码切换为#include <optional>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)