阅读了部分文章后,对optional浅浅的理解了一下,应该就是,当一个函数返回值为int时
int func(const char* str)
{
if(std == nullptr)
return 0;//0表示空
return 1;
}
你可能需要给这段代码加注释,0表示无效,但如果使用了optional作为返回值时
std::optional<int> func(const char* str)
{
if(std == nullptr)
return std::nullopt;
return 1;
}
相比于返回值0,nullopt大大提升了代码的可读性