在 C++11 上下文中使用 std::Optional

2024-02-20

我正在编写一个小型 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(使用前将#替换为@)

在 C++11 上下文中使用 std::Optional 的相关文章

随机推荐