以下是一个系统性的C++基础学习目录顺序,适合从零开始逐步掌握:
第一阶段:C++基础入门(1-2周)
第1章 程序结构与编译环境
· C++程序基本结构(main()函数)
· 注释与编码规范
· 编译器与IDE使用(GCC/Clang/MSVC)
· 编译、链接、执行流程
第2章 数据类型与变量
· 基本数据类型(int, float, double, char, bool)
· 变量声明与初始化
· 常量(const, constexpr)
· 类型别名(typedef, using)
· 类型转换(隐式/显式)
第3章 运算符与表达式
· 算术、关系、逻辑运算符
· 位运算符
· 赋值与复合赋值运算符
· 运算符优先级与结合性
第4章 基本输入输出
· cin / cout / cerr
· 格式化输出(setw, setprecision等)
· getline() 处理字符串输入
第二阶段:流程控制与函数(2-3周)
第5章 流程控制
· 条件语句(if, else if, switch)
· 循环(for, while, do-while)
· 跳转语句(break, continue, goto)
第6章 函数
· 函数定义与声明
· 参数传递(值传递、引用传递)
· 函数重载
· 默认参数
· 内联函数
· 递归函数
第7章 作用域与存储类别
· 局部/全局作用域
· 命名空间(namespace)
· 存储类别(auto, static, register, extern)
第三阶段:复合数据类型(3-4周)
第8章 数组
· 一维数组与多维数组
· 字符数组与C风格字符串
· std::array(C++11)
第9章 指针
· 指针概念与声明
· 指针运算
· 指针与数组
· 指针与函数
· 空指针与智能指针简介
第10章 引用
· 左值引用与右值引用
· 引用作为函数参数
· 引用与指针的区别
第11章 结构体与枚举
· struct 定义与使用
· 联合体(union)
· 枚举(enum, enum class)
第四阶段:面向对象编程(4-5周)
第12章 类与对象
· 类定义与对象创建
· 访问控制(public, private, protected)
· 构造函数与析构函数
· 成员函数与this指针
第13章 运算符重载
· 重载算术运算符
· 重载关系运算符
· 重载输入输出运算符
第14章 继承与多态
· 基类与派生类
· 继承方式(公有、保护、私有)
· 虚函数与多态
· 抽象类与纯虚函数
第15章 高级类特性
· 友元函数与友元类
· 静态成员
· 复制控制(拷贝构造、拷贝赋值)
· 移动语义(C++11)
第五阶段:内存管理与模板(3-4周)
第16章 动态内存管理
· new / delete 运算符
· 动态数组
· 内存泄漏与调试
第17章 模板
· 函数模板
· 类模板
· 模板特化与偏特化
· 变参模板简介(C++11)
第18章 异常处理
· try / catch / throw
· 标准异常类
· 异常安全
第六阶段:标准库入门(3-4周)
第19章 字符串
· std::string 常用操作
· 字符串流(sstream)
第20章 容器
· 序列容器(vector, list, deque)
· 关联容器(set, map)
· 无序容器(unordered_set, unordered_map)
第21章 迭代器与算法
· 迭代器类型与使用
· algorithm 常用函数(排序、查找等)
· Lambda表达式(C++11)
第22章 文件操作
· 文件流(ifstream, ofstream, fstream)
· 文本与二进制文件读写
第七阶段:现代C++特性简介(2-3周)
第23章 C++11/14/17 核心特性
· 类型推导(auto, decltype)
· 范围for循环
· 智能指针(unique_ptr, shared_ptr)
· 移动语义与右值引用
· nullptr, override, final 等关键字
第24章 进阶主题选讲
· 多线程基础(std::thread)
· 正则表达式(regex)
· 时间库(chrono)
学习建议
- 实践驱动:每个章节完成5-10个编程练习
- 项目巩固:学完每个阶段做一个小项目(如计算器、通讯录管理系统)
- 参考资源:
· 书籍:《C++ Primer》《Effective C++》
· 在线:CppReference.com、LearnCPP.com - 编码规范:早期养成良好习惯(命名、注释、模块化)
这个目录遵循 “先基础语法 → 再核心特性 → 后标准库与现代特性” 的路径,适合4-6个月的系统学习。实际学习时可灵活调整顺序,重点加强实践环节。