首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候应该使用Boost的lexical_cast?这是一种最后的手段吗?

什么时候应该使用Boost的lexical_cast?这是一种最后的手段吗?
EN

Stack Overflow用户
提问于 2014-07-21 18:37:41
回答 2查看 438关注 0票数 2

Boost的lexical_cast可以将数字(或任意对象)转换为字符串,然后再转换回来。我是否应该尝试更多地使用它,比如,而不是将内容流式传输到std::stringstreams?或者它更多的是一种最后的机制?

下面是两种替代方法的一个示例:

代码语言:javascript
运行
复制
std::stringstream message;
message << "foo " << bar << ' ' << baz;
doSomething(message.str());

代码语言:javascript
运行
复制
doSomething("foo " + lexical_cast<string>(bar) + " " + lexical_cast<string>(baz));

(但请注意,我的问题更一般)。

EN

Stack Overflow用户

发布于 2014-07-21 18:42:40

我要说的是,在将字符串转换为数字时,您应该始终使用lexical_cast,因为如果没有它,您将无法知道它是否真的是一个数字(糟糕的词法转换异常)。字符串流不会抛出任何东西,并保留未初始化的数字。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24863080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档