optional

作用:
用来包装一个可能存在也可能不存在的值
当存在时我们可以选择返回其中内容,不存在时返回空;
代码示例:


#include<iostream>
#include<optional>
#include<string>
#include<fstream>

std::optional<std::string> ReadFileAsString(const std::string& filepath)
{
    std::ifstream streams(filepath);//ifstream输入文件流 值从外部源读取数据到程序的流
    if (streams)
    {
        std::string result;
        streams.close(); //关闭输入文件流
        return result;
    }
    return {};
}
    int main()
    {
        std::optional<std::string>data = ReadFileAsString("data.txt");
       if (data)
       {
                std::cout << "Read successful";
              
       }
        
    }

optional 能起一个判空的作用,

.value_or(默认值)

std::optionalcount;
int c=count.value_or(100);//若是count里没东西,会把c值默认为设定的值

posted @ 2024-07-16 09:38  Wzline  阅读(1)  评论(0编辑  收藏  举报