C++类型转换

4

我想知道在哪里可以找到类型转换的概述,例如字符串转换成整型等等。

因为迄今为止的评论,我需要澄清一下:我正在寻找一个列表/表格,列出了各种数据类型之间的转换方式,比如将字符串转换为整数,使用方法是:...以及其他可行的数据类型转换:将双精度浮点型转换为整型,将字符转换为字符串等等。


2
C++语言本身没有字符串转整数的功能,因此这只是一个非常简短的概述。也许您可以提出更具体的问题? - bmargulies
5
哎呀,你们这些家伙真是太苛刻了。这个问题看起来非常合理——虽然有点简短。也许不值得点赞,但绝对不值得六个踩。 - Daniel Bingham
1
@dbingham:是的,但我看到的是七个赞同和六个反对,这是+58声望,对于一个简单的问题来说相当不错。我认为正在发生的事情是很多人都在争取选民徽章,该徽章奖励对问题进行投票(不一定是赞同)。 - David Thornley
1
@anthares,你的意思是我不能期望得到一个明智的回答,没有花时间并且不尊重。我希望你不会对每个人都这样。 - Reinstate Monica - Goodbye SE
2
@Mark:事实上,对于了解C++工作原理的人来说,你最初的问题并没有太多意义,尽管一旦假设提问者不知道答案(即C++没有像其他语言那样定义可理解的有效转换列表),它实际上是有意义的。我猜人们会因此而困惑,特别是因为在谷歌搜索你的问题标题会得到看似不错的结果。为什么他们没有帮助只有在你澄清后才变得清晰明了。 - Konrad Rudolph
显示剩余8条评论
4个回答

11
如果是字符串和其他类型之间的转换,可以使用stringstreamboost::lexical_cast
对于其他类型,这将取决于类型,但可能要查找标准转换模板吗?static_castdynamic_cast应该能满足您大部分需求,或者有const_cast和reinterpret_cast,这些通常只对处理旧系统有用。

1
我并不是在自我推销,但是为了参考,这个答案展示了如何使用lexical_cast,以及如何使用流进行简单的无boost替换。https://dev59.com/J3M_5IYBdhLWcg3ww2AQ#1243435 - GManNickG

1

流(Streams)本质上就是C++的字符串转换运算符。

您还可以使用C的sprintf转换方法,但这会导致大量错误和不安全性。


0

标准库中有用于字符串<->整数转换的函数。你应该获取任何关于C++的参考书或者搜索谷歌。

我更熟悉C,但我认为C++的函数是相同的:atoi,strtoi等。


请参考jk的答案,了解标准C++方法。 - Bill

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接