C++一个简单的强制转换代码,输出为啥不对?
#include <iostream.h>
#include <string.h>
int main()
{
int a = 0x12345678;
char *p = (char*)(&a);
cout<<hex<<*p<<endl;
return 0;
}
结果如下:
相关推荐
C++中强制类型转换的应用
1.1 强制类型转换 大家都知道在C语言里强制类型转换的方法非常简单,只要在要转换的变量前用括号确定要转换的类型即可,如要将一个double型的变量强制转换为int类型,代码如下: double x = 3.14; int y = (int)x; 另外,还可有更高级的转换,如把int *类型的变量转换为int ,代码如下: int x = 20; int *p = &x; int y = (int)p; 在C++语言里为了让强制类型转换更明显,更安全,所以把不同情况下的强制类型转换分为四种,分别为: static_cast
C++四种强制类型转换
四种强制类型转换:static_cast const_cast dynamic_cast reinterpret_cast 1、static_cast 编译器隐式执行的任何类型转换都可以由static_cast显示完成。 ①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查,所以是不安全的。 ②用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。 ③把空指针转换成目标
C++ 四种强制类型转换的总结
C++ 四种强制类型转换的总结
关于C++的强制类型转换浅析
前言 一说起强制类型转换大家都很熟悉,相信很多学习完C++的朋友还在使用C语言的强制类型的方式 (类型)变量. C++其实也具有自己的一套强制类型转换它们分明是:static_cast reinterpret_cast const_cast dynamic_cast四种类型. 那么肯定会有人好奇C++是不是闲,C语言的强制类型用的舒舒服服的,为什么要新推出来这几个? 新类型的强制转换可以提供更好的控制强制转换过程,允许控制各种不同种类的强制转换。C++中风格是static_cast<type>。C++风格的强制转换其他的好处是,它们能更清晰的表明它们要干什么。程序员只要扫一眼这样的代码,
深入C++四种强制类型转换的总结
本篇文章是对C++中四种强制类型转换进行了详细的分析介绍,需要的朋友参考下


新手乐园
