Boost的lexical_cast可以将数字(或任意对象)转换为字符串,然后再转换回来。我是否应该尝试更多地使用它,比如,而不是将内容流式传输到std::stringstreams?或者它更多的是一种最后的机制?
下面是两种替代方法的一个示例:
std::stringstream message;
message << "foo " << bar << ' ' << baz;
doSomething(message.str());或
doSomething("foo " + lexical_cast<string>(bar) + " " + lexical_cast<string>(baz));(但请注意,我的问题更一般)。
发布于 2014-07-21 18:42:40
我要说的是,在将字符串转换为数字时,您应该始终使用lexical_cast,因为如果没有它,您将无法知道它是否真的是一个数字(糟糕的词法转换异常)。字符串流不会抛出任何东西,并保留未初始化的数字。
https://stackoverflow.com/questions/24863080
复制相似问题