C++学习日志|进阶学习计划

730 字
4 分钟
C++学习日志|进阶学习计划

C++ 学习日志#

学习状态:已完成基础语法、面向对象(封装、继承、多态),即将开启进阶内容 日期:2026‑09‑02

📋 当前学习进度#

✅ 已完成

  1. C++ 基础语法:变量、数据类型、流程控制、函数、指针、引用、数组、字符串等
  2. 面向对象 OOP:类与对象、封装、继承、多态、虚函数、抽象类、访问权限

🚧 待学习清单

  • 模板(Template)
  • STL 标准库(容器、算法、迭代器、仿函数)
  • 智能指针
  • C++11 / C++14 / C++17 新特性
  • C++ 多线程编程
  • CMake 构建工具【重中之重】
  • Socket 网络基础编程(TCP / UDP)

🎯 整体学习计划#

阶段一:模板 + STL(核心基础)#

学习目标 理解函数模板、类模板;熟练使用 STL 常用容器与算法,会分析容器特性,能够在实际代码中选用合适容器。

学习要点

  1. 函数模板、类模板、模板特化
  2. STL 六大组件:容器、迭代器、算法、仿函数、适配器、空间配置器
  3. 常用容器:vectordequelistmapunordered_mapsetstring
  4. STL 常用算法:遍历、查找、排序、拷贝、删除等
  5. 迭代器失效问题

阶段二:智能指针 + C++11/14/17 新特性#

学习目标 掌握现代C++内存管理,摆脱裸指针;熟练使用现代语法,看懂现代开源项目代码。

学习要点

  1. 智能指针:std::unique_ptrstd::shared_ptrstd::weak_ptr,循环引用问题
  2. 右值引用、移动语义、完美转发
  3. autodecltype、范围for循环
  4. lambda表达式
  5. 类型别名、constexpr、nullptr
  6. C++14/17 重点特性:结构化绑定、std::optional、if constexpr等

阶段三:C++ 多线程编程(实用性很强)#

学习目标 学会编写并发程序,理解线程安全,掌握同步互斥手段。

学习要点

  1. std::thread 创建线程
  2. std::mutex、锁、条件变量 std::condition_variable
  3. std::futurestd::promisestd::async
  4. 线程安全、竞态条件、死锁产生与避免
  5. 原子操作 std::atomic

阶段四:CMake【重中之重】#

学习目标 能够独立手写 CMakeLists.txt,管理多文件、多目录项目,编译静态库/动态库,链接第三方库。

学习要点

  1. CMake 基础语法:变量、注释、指令
  2. 构建可执行程序、静态库、动态库
  3. 头文件目录、链接库配置
  4. 多目录项目组织
  5. 条件编译、版本判断
  6. find_package 使用

阶段五:Socket 网络编程(TCP / UDP)#

学习目标 掌握基础网络套接字编程,实现简单服务端、客户端。

学习要点

  1. Socket 基础概念,字节序、IP地址、端口
  2. UDP:服务端、客户端通信模型
  3. TCP:三次握手、四次挥手,服务端监听、accept,客户端connect
  4. socket、bind、listen、accept、send、recv 系统调用
  5. 简单的粘包问题认知

💡 个人学习心得#

这里用于记录踩坑、感悟、容易遗忘的知识点,持续更新。

示例:

  • 模板编译期实例化,头文件尽量放模板实现
  • shared_ptr 注意循环引用,记得使用 weak_ptr
  • CMake 不要死记硬背,多动手写项目

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

C++学习日志|进阶学习计划
https://amaranthcn.fun/posts/cpp-learning-notes1/
作者
fox
发布于
2026-09-02
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
暂无相关文章
随机文章随机推荐
站点统计
文章
1
分类
1
标签
4
总字数
890
运行时长
0
最后活动
0 天前
最新动态