Boost.Optional的用法
【Boost.Optional的用法】不使用boost::optional时的方法:
#include int aaa()
{
int i;
std::cin >> i;
return (i > 10) ? i : -1;
}int main()
{
int i = aaa();
if (i != -1)
std::cout << i << std::endl;
else
std::cout << "not valid input" << std::endl;
}
$ g++ m.cpp && ./a.out
11
11
[lane@Docker foo]$ ./a.out
2
not valid input
使用boost::optional时的方法:
#include
#include boost::optional aaa()
{
int i;
std::cin >> i;
return (i > 10) ? i : boost::optional{};
}int main()
{
boost::optional i = aaa();
if (i)
std::cout << *i << std::endl;
else
std::cout << "not valid input" << std::endl;
}
$ g++ m.cpp && ./a.out
11
11
[lane@Docker foo]$ ./a.out
2
not valid input
参考文章 https://theboostcpplibraries.com/boost.optional
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量