数据转换 static_cast 的区别??

wang7890 2009-02-24 10:30:39
int s = 5;

请问:
(int)s;
<int>s;
static_cast<double>(s);

的区别?
...全文
74 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangbinjn 2009-02-24
  • 打赏
  • 举报
回复
基本上没有什么区别,只是在C++中一种风格,你完全可以把static_cast当成C中的()来用
feng4206yu 2009-02-24
  • 打赏
  • 举报
回复
基本没有区别,c++中的static_cast在数据转换方面本身就相当于c里面的强制转换...
a_rockboy 2009-02-24
  • 打赏
  • 举报
回复
<int>s; 这种写法没见过,是错的


(int)s;
static_cast <double>(s);

前者是C用法,后者是C++用法。C++之所以设计这种写法,是因为C++的作者认为强制转换太危险,所以设计了一个很丑陋的(ugly)的运算符,就叫static_cast,

65,211

社区成员

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

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