首页 > 代码库 > C++ 中关于optional 使用过程中遇到的问题
C++ 中关于optional 使用过程中遇到的问题
头文件:#include <boost/optional.hpp>
using namespace boost;
optional很像一个仅能存放一个元素的容器,它实现了"未初始化"的概念:如果元素未初始化,那么容器就是空的,否则,容器内就是有效的,已经初始化的值。
- 无参的optional()或者optional(boost::none)构造一个未初始化optional对象,参数boost::none是一个类似空指针的none_t类型常量,表示未初始化;
optional<int> op0; //一个未初始化的optional对象
optional<int> op1(none);//同上,使用none赋予未初始化值
assert(!op0);
assert(op0 == op1);
- 最重要的一点就是如果要用的话就一定要初始化,尤其是在比较深层次的成员变量的类是optional类型时,一定要确保它的父类中所有的optional类型的都已经被初始化了。
optional<string> ops("test"); //初始化为字符串test
C++ 中关于optional 使用过程中遇到的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。