c++ Std::可选的

" std::optional "特性在c++ 17中提供。" std::optional "允许对可选值进行类型安全的表示或选择是否拥有一个值。一个名为" std::optional "的模板类包含一个可选值,该值可能包含有效值,也可能不包含有效值。与原始指针或其他技术相比,它是表示空值或可选值的更安全的替代品。" std::optional "要求用户在检索值之前显式地验证值是否存在,从而将空指针解引用错误的可能性降到最低。

示例1:

" optional "和" iostream "头文件在这段代码中被导入。我们必须导入这些头文件,以便能够轻松地访问其中定义的函数。在此之后,我们包含了"命名空间std ",这样我们就不必用像" std::optional "和" std::cout "这样的函数分别键入它。我们在这里使用“namespace std”。因此,现在,我们放置“optional”或“cout”,而不键入“std”。

然后,我们调用main()并放置“optional”并将其设置为“int”并声明“myNum”。它是声明" std::optional "变量的语法。然后,我们初始化另一个名为“value”的变量,并利用value_or()函数为“myNum”变量赋值。我们在这个函数中传递“99”,所以如果没有值,它将这个“99”赋值给“muNum”变量,并将其存储在“value”变量中。然后,我们将“cout”放在this下面,这有助于显示我们赋给它上面的变量的值。

代码1:

# include

# include

使用命名空间std;

Int main() {

可选myNum;

int value = myNum.value_or(99);

  cout