关于四种转换

Microsoft777 2008-08-04 11:32:57
看了一些关于这方面的东西
不过不是很懂
下面是我一些理解
不知道有没有一些是正确的

static_cast 一般是进行合理的转换,比如从浮点型到整形。这是因为浮点型精度比
整形精度大,它只是做了缩小范围。同时,把一个字符串转换为string类型也是合理的。
但是两个不相关的类型转换,这样做是不合理的。
dynamic_cast 一般用于有继承关系的对象的装换。
const_cast 用于去掉常量属性。
reinterpret_cast 感觉它可以进行那种毫无联系的类型转换,但是它过于依赖编译器。
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fallening 2008-08-04
  • 打赏
  • 举报
回复
还有一个lexical_cast
比sprintf snprintf stringstream更好用
ykx_yeer 2008-08-04
  • 打赏
  • 举报
回复
没什么错
薛定谔之死猫 2008-08-04
  • 打赏
  • 举报
回复
学习,up
太乙 2008-08-04
  • 打赏
  • 举报
回复
嗯~~

http://helloworld.cc/cpp/type_convert.html
hurry281 2008-08-04
  • 打赏
  • 举报
回复
static_cast<>一种合理的的转换,一般对语法上能够清晰.
const_cast<>常量转换.
dynamic_cast<>动态转换,类之间,dynamic_cast依赖于RTTI信息,
reinterpret_cast<>转换成二进制bit,灵活,但不安全,一般转换过去后,然后需要转换回来.

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧