数据类型与变量

全屏查看

1 C++ 数据类型概述 #

mindmap
    id1[C++ 数据类型概述]
        id1-1[数据类型的基本概念]
            id1-1-1[数据类型的定义与作用]
            id1-1-2[数据类型与内存管理]
            id1-1-3[数据类型与程序性能]
        id1-2[C++ 数据类型分类]
            id1-2-1[基本数据类型]
            id1-2-2[复合数据类型]
            id1-2-3[用户自定义数据类型]
数据类型的基本概念
数据类型的定义与作用
数据类型与内存管理
数据类型与程序性能
C++ 数据类型分类
基本数据类型
复合数据类型
用户自定义数据类型

2 基本数据类型 #

整型数据类型
int 类型及其变体
有符号与无符号整型
整型的大小与范围
整型字面量表示
浮点型数据类型
float 类型
double 类型
long double 类型
浮点数精度与误差
字符型数据类型
char 类型
wchar_t 类型
char16_t 和 char32_t 类型
字符编码与转义序列
布尔型数据类型
bool 类型定义
布尔值与条件判断
布尔运算规则
void 类型
void 类型的特殊用途
void 指针
mindmap
    id2[基本数据类型]
        id2-1[整型数据类型]
            id2-1-1[int 类型及其变体]
            id2-1-2[有符号与无符号整型]
            id2-1-3[整型的大小与范围]
            id2-1-4[整型字面量表示]
        id2-2[浮点型数据类型]
            id2-2-1[float 类型]
            id2-2-2[double 类型]
            id2-2-3[long double 类型]
            id2-2-4[浮点数精度与误差]
        id2-3[字符型数据类型]
            id2-3-1[char 类型]
            id2-3-2[wchar_t 类型]
            id2-3-3[char16_t 和 char32_t 类型]
            id2-3-4[字符编码与转义序列]
        id2-4[布尔型数据类型]
            id2-4-1[bool 类型定义]
            id2-4-2[布尔值与条件判断]
            id2-4-3[布尔运算规则]
        id2-5[void 类型]
            id2-5-1[void 类型的特殊用途]
            id2-5-2[void 指针]

3 类型修饰符与限定符 #

mindmap
    id3[类型修饰符与限定符]
        id3-1[符号修饰符]
            id3-1-1[signed 修饰符]
            id3-1-2[unsigned 修饰符]
        id3-2[大小修饰符]
            id3-2-1[short 修饰符]
            id3-2-2[long 修饰符]
            id3-2-3[long long 修饰符]
        id3-3[类型限定符]
            id3-3-1[const 限定符]
            id3-3-2[volatile 限定符]
            id3-3-3[mutable 限定符]
符号修饰符
signed 修饰符
unsigned 修饰符
大小修饰符
short 修饰符
long 修饰符
long long 修饰符
类型限定符
const 限定符
volatile 限定符
mutable 限定符

4 变量声明与定义 #

变量的基本概念
变量与标识符
变量的作用域
变量的生命周期
变量声明语法
声明格式与规则
变量命名规范
声明与定义的区别
变量初始化
默认初始化
直接初始化
拷贝初始化
列表初始化
常量变量
const 变量
constexpr 变量
宏定义与常量
mindmap
    id4[变量声明与定义]
        id4-1[变量的基本概念]
            id4-1-1[变量与标识符]
            id4-1-2[变量的作用域]
            id4-1-3[变量的生命周期]
        id4-2[变量声明语法]
            id4-2-1[声明格式与规则]
            id4-2-2[变量命名规范]
            id4-2-3[声明与定义的区别]
        id4-3[变量初始化]
            id4-3-1[默认初始化]
            id4-3-2[直接初始化]
            id4-3-3[拷贝初始化]
            id4-3-4[列表初始化]
        id4-4[常量变量]
            id4-4-1[const 变量]
            id4-4-2[constexpr 变量]
            id4-4-3[宏定义与常量]

5 类型转换 #

mindmap
    id5[类型转换]
        id5-1[隐式类型转换]
            id5-1-1[算术转换规则]
            id5-1-2[整型提升]
            id5-1-3[数组到指针的转换]
        id5-2[显式类型转换]
            id5-2-1[C 风格类型转换]
            id5-2-2[static_cast 转换]
            id5-2-3[dynamic_cast 转换]
            id5-2-4[const_cast 转换]
            id5-2-5[reinterpret_cast 转换]
        id5-3[类型推导]
            id5-3-1[auto 关键字]
            id5-3-2[decltype 关键字]
            id5-3-3[C++14 和 C++17 的类型推导增强]
隐式类型转换
算术转换规则
整型提升
数组到指针的转换
显式类型转换
C 风格类型转换
static_cast 转换
dynamic_cast 转换
const_cast 转换
reinterpret_cast 转换
类型推导
auto 关键字
decltype 关键字
C++14 和 C++17 的类型推导增强

6 复合数据类型基础 #

数组类型
一维数组
多维数组
字符数组与字符串
指针类型
指针的基本概念
指针运算
指针与数组的关系
引用类型
左值引用
右值引用
引用与指针的区别
枚举类型
无作用域枚举
有作用域枚举
枚举的底层类型
mindmap
    id6[复合数据类型基础]
        id6-1[数组类型]
            id6-1-1[一维数组]
            id6-1-2[多维数组]
            id6-1-3[字符数组与字符串]
        id6-2[指针类型]
            id6-2-1[指针的基本概念]
            id6-2-2[指针运算]
            id6-2-3[指针与数组的关系]
        id6-3[引用类型]
            id6-3-1[左值引用]
            id6-3-2[右值引用]
            id6-3-3[引用与指针的区别]
        id6-4[枚举类型]
            id6-4-1[无作用域枚举]
            id6-4-2[有作用域枚举]
            id6-4-3[枚举的底层类型]

7 用户自定义数据类型 #

mindmap
    id7[用户自定义数据类型]
        id7-1[结构体]
            id7-1-1[结构体定义与使用]
            id7-1-2[结构体成员访问]
            id7-1-3[结构体对齐与填充]
        id7-2[联合体]
            id7-2-1[联合体的定义]
            id7-2-2[联合体的内存布局]
            id7-2-3[匿名联合体]
        id7-3[类类型]
            id7-3-1[类的基本概念]
            id7-3-2[类的数据成员]
            id7-3-3[访问控制与封装]
结构体
结构体定义与使用
结构体成员访问
结构体对齐与填充
联合体
联合体的定义
联合体的内存布局
匿名联合体
类类型
类的基本概念
类的数据成员
访问控制与封装

8 类型特性与元编程 #

类型特征
type_traits 库
类型查询特征
类型修改特征
类型别名
typedef 关键字
using 别名声明
模板类型别名
类型安全与最佳实践
类型安全编程原则
避免类型相关的常见错误
现代 C++ 类型使用指南
mindmap
    id8[类型特性与元编程]
        id8-1[类型特征]
            id8-1-1[type_traits 库]
            id8-1-2[类型查询特征]
            id8-1-3[类型修改特征]
        id8-2[类型别名]
            id8-2-1[typedef 关键字]
            id8-2-2[using 别名声明]
            id8-2-3[模板类型别名]
        id8-3[类型安全与最佳实践]
            id8-3-1[类型安全编程原则]
            id8-3-2[避免类型相关的常见错误]
            id8-3-3[现代 C++ 类型使用指南]

9 内存管理与数据类型 #

mindmap
    id9[内存管理与数据类型]
        id9-1[数据类型与内存布局]
            id9-1-1[基本类型的内存占用]
            id9-1-2[结构体内存对齐]
            id9-1-3[位域的使用]
        id9-2[动态内存分配]
            id9-2-1[new 和 delete 操作符]
            id9-2-2[数组的动态分配]
            id9-2-3[智能指针与类型安全]
        id9-3[内存模型与数据类型]
            id9-3-1[对象表示]
            id9-3-2[字节序问题]
            id9-3-3[数据序列化与反序列化]
数据类型与内存布局
基本类型的内存占用
结构体内存对齐
位域的使用
动态内存分配
new 和 delete 操作符
数组的动态分配
智能指针与类型安全
内存模型与数据类型
对象表示
字节序问题
数据序列化与反序列化

10 高级数据类型特性 #

模板与泛型编程
函数模板
类模板
模板特化与偏特化
变长参数与类型
可变参数模板
std::tuple 类型
std::variant 类型
现代 C++ 类型特性
C++11 类型系统增强
C++14 类型推导改进
C++17 和 C++20 新类型特性
mindmap
    id10[高级数据类型特性]
        id10-1[模板与泛型编程]
            id10-1-1[函数模板]
            id10-1-2[类模板]
            id10-1-3[模板特化与偏特化]
        id10-2[变长参数与类型]
            id10-2-1[可变参数模板]
            id10-2-2[std::tuple 类型]
            id10-2-3[std::variant 类型]
        id10-3[现代 C++ 类型特性]
            id10-3-1[C++11 类型系统增强]
            id10-3-2[C++14 类型推导改进]
            id10-3-3[C++17 和 C++20 新类型特性]