数据类型
基本类型
整型(指没有小数部分的数字),由小到大排序
- bool✨
- char
- signed char
- unsigned char
- short
- unsigned short
- int
- unsigned int
- long
- unsigned long
- long long✨
- unsigned long long✨
整型,特殊自定义
- char16_t✨
- char32_t✨
- wchar_t✨(存储系统扩展字符集中的任意成员)
浮点型(指小数点可移动),由小到大排序
- float
- double
- long double
整型的位数
- short至少16位
- int至少与short一样长
- long至少32位,且至少与int一样长
- long long至少64位,且至少与long一样长
浮点型的位数
- float至少32位
- double至少48位,且不少于float
- long double至少和double一样多
复合类型
数组
- 可以存储多个同类型的值
- 不能将一个数组赋给另一个数组
字符串数组(C版本)
- 可以将字符串存储在char数组,以空字符 \0 结尾,标记字符串的结尾
字符串string(C++版本)
- 可以将一个string对象赋给另一个string对象
结构
- 可以存储多种类型的数据
共用体
- 可以存储不同的数据类型,但只能同时存储其中的一种类型
- 常用于节省内存
枚举
- 创建符号常量的方式,可以代替const
指针
- 是一个变量,存储的是值的地址,而不是值本身
- 声明指针后,需要初始化指针的地址,因为系统不会自动分配
- C++允许将指针和整数相加,加1的结果等于原来的地址值加上指向的对象占用的总字节数
- 仅当两个指针指向同一个数组,相减才有意义,将得到两个元素的间隔
模板类数组array
- 长度固定
- 使用栈(静态内存分配)
- 更方便,更安全
函数
- 函数原型:描述了函数的接口(将返回值类型和参数类型告诉编译器)
- 函数定义:实现函数功能的代码
- 函数指针:存储其机器语言代码的内存的开始地址
内联函数
- 程序无需跳到另一个位置处执行代码,但代价是需要占用更多内存
- 只有一行代码的小型、非递归函数适合作为内联函数
引用变量
- 一种伪装指针,允许为变量创建别名
- 主要被用作处理结构和类对象的函数的参数
类
- 类声明指定了数据将如何存储,同时指定了用来访问和操纵这些数据的方法
- 在类构造函数中,可以使用 new 为数据分配内存,然后将内存地址赋给类成员。这样,类便可以处理长度不同的字符串,而不用在类设计时提前固定数组的长度
抽象数据类型(ADT)
- 用于设计程序中的数据结构和算法