来源:https://stackoverflow.com/questions/57598241/using-stdoptional-in-a-c11-context
github:https://github.com/TartanLlama/optional
使用的 tl::optional,和 std::optional 一样。
可以判断一下当前的 __cplusplus 版本
#if __cplusplus < 201703L
xxx
#else
yyy
#endif
- C++ pre-C++98:
__cplusplusis1 - C++98:
__cplusplusis199711L - C++98 + TR1: This reads as C++98 and there is no way to check that I know of.
- C++11:
__cplusplusis201103L - C++14:
__cplusplusis201402L - C++17:
__cplusplusis201703L - C++20:
__cplusplusis202002L - C++23:
__cplusplusis202302L