C++强制装换 (int)a 和 static_<int>(a) 的区别

[复制链接]
查看11 | 回复1 | 2011-12-5 17:19:11 | 显示全部楼层 |阅读模式
前面的是C的风格,后面的是C++的风格(也是推荐使用的)。差别在于,static_cast更安全一些,对于指针操作的话,多了一些检查,例如无关指针就无法转换,父类指针向孩子指针,无法转换,常指针向非常指针无法转换,而前面的那个则是通吃,通常是下面四个转换的合体reinterpret_cast在低级编程以及硬件接口的开发过程中,常常需要将一个特定的物理内存地址赋值给一个指针。为此必须使用reinterpret_cast操作符计算地址值。例子如下:void *p;// 将地址 0x5800FF 付给指针 pp = reinterpret_cast (0x5800FF);static_cast通常这个运算符用来进行数...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行