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 新类型特性]