boost::lexical_cast
方便,但性能不如std::from_chars
和std::to_chars
,也不能方便的转换非十进制数。
boost::convert
可以做以上转换,而且返回值为boost::optional
,一些情况下比处理异常清晰
但是用户自定义类型到std::string
的转换fmt
库也很方便,boost::convert
的方便在于字符串到用户自定义类型的转换,或者直接用工厂模式更好些?
#include <boost/lexical_cast.hpp>
#include <catch2/catch.hpp>
TEST_CASE("lexical_cast") {
REQUIRE(boost::lexical_cast<short>("3") == 3);
REQU