利用输入字符串流:std::istringstream
bool b; std::string s = "true"; std::istringstream(s) >> std::boolalpha >> b;
但当字符串s为“1”时,上面的代码无法正确转换,此时应该用:
bool b; std::string s = "1"; istringstream(s) >> b;
不足:除了加条件判断语句外,暂未找到其它能同时涵盖两种情况的简单方法。