【发布时间】:2021-03-16 20:54:04
【问题描述】:
有人能解释一下为什么第一次转换有效而第二次使用 optional 无效吗?
// Example program
#include <iostream>
#include <string>
#include <boost/optional.hpp>
int main()
{
std::string x = "16";
uint16_t t = (uint16_t)std::stoi(x);
std::cout<<t; // prints 16
std::string x2 = "16";
boost::optional<uint16_t> opt = (uint16_t)std::stoi(x2);
std::cout<<opt; // prints 1
}
谢谢。
【问题讨论】: