作用:
用來包裝一個可能存在也可能不存在的值
當存在時我們可以選擇返回其中內容,不存在時返回空;
程式碼示例:
#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 能起一個判空的作用,