C++ 基本的7种数据类型和4种类型转换(C++复习向p3)

2023-11-03

基本内置类型

  • bool
  • char
  • int
  • float
  • double
  • void
  • wchar_t ⇒ short int

存储范围

可以这样 sizeof(int) 来确认 int 占用字节数

  • char,1字节,-128~127 或 0~255

  • wchar_t,2或4字节,1 个宽字符

  • int,4字节,-214 … 9个零

  • short int,2字节,-32768~32767

  • long int,8字节,-922 … 18个零

  • float,4字节,-34 … 7个数字

  • double,8字节,-17 … 15个数字

  • long double,16字节,18-19位数字

typedef 声明新名字

语法:typedef type newName;

比如使用 typedef int feet; 可以告诉编译器 feet 是 int 的另一个名称

enum 枚举类型

这里隐含的数值 red = 0,green = 5,blue = 6

enum color {
	red,
	green = 5,
	blue
};

下面的代码声明了一个 color 类型变量,且变量值被赋予为 blue

color c;
c = blue;

类型转换

  • 静态转换:不进行任何类型检查,相似类型之间转换比如 int → float
int i = 10;
float f = i;
  • 动态转换:基类指针或引用 ⇒ 派生类指针或引用,如果不能进行转换会返回空指针 / 引发异常
class A {};
class B : public A {};

int main() {
    A* ptr_a = new B;
    B* ptr_b = dynamic_cast<B*>(ptr_a); // 基类指针 -> 派生类指针
}
  • 常量转换:将 const 类型的对象转换成非 const 的,不能改变对象的类型
int main() {
    const int i = 10;
    int& r = const_cast<int&>(i);
    cout << r;
}
  • 重新解释转换:将一个数据类型的值重新解释为另一个数据类型
int i = 10;
float f = reinterpret_cast<float&>(i); // 重新解释将int类型转换为float类型
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 基本的7种数据类型和4种类型转换(C++复习向p3) 的相关文章

随机推荐