C++学习日志|进阶学习计划
730 字
4 分钟
C++学习日志|进阶学习计划
C++ 学习日志
学习状态:已完成基础语法、面向对象(封装、继承、多态),即将开启进阶内容 日期:2026‑09‑02
📋 当前学习进度
✅ 已完成
- C++ 基础语法:变量、数据类型、流程控制、函数、指针、引用、数组、字符串等
- 面向对象 OOP:类与对象、封装、继承、多态、虚函数、抽象类、访问权限
🚧 待学习清单
- 模板(Template)
- STL 标准库(容器、算法、迭代器、仿函数)
- 智能指针
- C++11 / C++14 / C++17 新特性
- C++ 多线程编程
- CMake 构建工具【重中之重】
- Socket 网络基础编程(TCP / UDP)
🎯 整体学习计划
阶段一:模板 + STL(核心基础)
学习目标 理解函数模板、类模板;熟练使用 STL 常用容器与算法,会分析容器特性,能够在实际代码中选用合适容器。
学习要点
- 函数模板、类模板、模板特化
- STL 六大组件:容器、迭代器、算法、仿函数、适配器、空间配置器
- 常用容器:
vector、deque、list、map、unordered_map、set、string - STL 常用算法:遍历、查找、排序、拷贝、删除等
- 迭代器失效问题
阶段二:智能指针 + C++11/14/17 新特性
学习目标 掌握现代C++内存管理,摆脱裸指针;熟练使用现代语法,看懂现代开源项目代码。
学习要点
- 智能指针:
std::unique_ptr、std::shared_ptr、std::weak_ptr,循环引用问题 - 右值引用、移动语义、完美转发
auto、decltype、范围for循环- lambda表达式
- 类型别名、constexpr、nullptr
- C++14/17 重点特性:结构化绑定、
std::optional、if constexpr等
阶段三:C++ 多线程编程(实用性很强)
学习目标 学会编写并发程序,理解线程安全,掌握同步互斥手段。
学习要点
std::thread创建线程std::mutex、锁、条件变量std::condition_variablestd::future、std::promise、std::async- 线程安全、竞态条件、死锁产生与避免
- 原子操作
std::atomic
阶段四:CMake【重中之重】
学习目标 能够独立手写 CMakeLists.txt,管理多文件、多目录项目,编译静态库/动态库,链接第三方库。
学习要点
- CMake 基础语法:变量、注释、指令
- 构建可执行程序、静态库、动态库
- 头文件目录、链接库配置
- 多目录项目组织
- 条件编译、版本判断
- find_package 使用
阶段五:Socket 网络编程(TCP / UDP)
学习目标 掌握基础网络套接字编程,实现简单服务端、客户端。
学习要点
- Socket 基础概念,字节序、IP地址、端口
- UDP:服务端、客户端通信模型
- TCP:三次握手、四次挥手,服务端监听、accept,客户端connect
- socket、bind、listen、accept、send、recv 系统调用
- 简单的粘包问题认知
💡 个人学习心得
这里用于记录踩坑、感悟、容易遗忘的知识点,持续更新。
示例:
- 模板编译期实例化,头文件尽量放模板实现
- shared_ptr 注意循环引用,记得使用 weak_ptr
- CMake 不要死记硬背,多动手写项目
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
C++学习日志|进阶学习计划
https://amaranthcn.fun/posts/cpp-learning-notes1/相关文章智能推荐
暂无相关文章
随机文章随机推荐













