栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

boost::optional

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

boost::optional

boost::optional

文章目录
    • boost::optional
      • 创建对象
      • 方法
      • 使用:

创建对象
  • optional()
  • optional(none)
  • optional(v)
  • optional(condition, v)
  • emplace()
方法
  • value()
    • 如果未初始化,会抛异常bad_optional_access
  • value_or()
  • value_or_eval()
    • op1.value_or_eval({ return 1212; })
使用:

包含#include 头文件,可以直接打印optional对象

optional op0;
optional op1(none);
optional ops("bros");
// 只取前3个字符
ops.emplace("love", 3);

std::vector v(10);
// 容纳一个容器的引用
optional&> opv(v);

opv->push_back(5);
opv = none;

std::cout << "print: " << op1.value_or_eval([](){ return 1212; }) << std::endl;

工厂函数

根据参数类型自动推导optional的类型

auto x = make_optional(5);
auto y = make_optional((*x == 5), 1.0);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/690306.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号