# cpp-learning **Repository Path**: michaelwang98/cpp-learning ## Basic Information - **Project Name**: cpp-learning - **Description**: No description available - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 35 - **Created**: 2025-06-10 - **Last Updated**: 2025-06-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C++学习 致力于搭建一个最好的C++学习平台。 **很多人不知道是否应该入坑C++** **很多人不知道如何准备C++面试** **很多人不知道如何入门C++** **很多人不知道如何进阶C++** 这些人可以来这里看看!**如果大家有学习资源推荐,欢迎提MR**。 **欢迎大家的批评指正,但不接受喷子,感谢支持,如果大家觉得不错,求给个star!** **如果阅读时,发现错误,或者其它任何问题可以提issue** 另外大家也可以关注我的**公众号:程序喵大人**,以后所有文章都会**首发在公众号上**,下面是公众号二维码,谢谢大家支持。
我还特意组建了一个优质的C++学习社群,里面有更多优质的C++学习资料,感兴趣可以点击此链接了解:[https://t.zsxq.com/zJynu3z](https://t.zsxq.com/zJynu3z) 我也特意为大家整理了一些文档和脑图,详见doc目录。 ## 干货 ### 入门必备 #### 基础 - [入门可以首先看清华郑莉老师视频](https://space.bilibili.com/702528832) - [C++学习路线](https://mp.weixin.qq.com/s/poq9aDdEL5kLM5sjSqJ72A) - [C++服务端学习路线](https://mp.weixin.qq.com/s/6qTLqEU5JuxBo0wHjBWG0Q) - [C++就业方向](https://mp.weixin.qq.com/s/GDBqvRTuaMg8WPaTTsFbmg) - [如何入门C++](https://mp.weixin.qq.com/s/koqsBzRSjh_M5GrI-WZhgw) - [学习C++应该做点什么项目](https://mp.weixin.qq.com/s/DLQllBnFyA6vt2aFENP-2Q) - [C++基础知识汇总](https://mp.weixin.qq.com/s/eYLJ0pzSQjOfXgDsXL0p0w) - [C++面试宝典](https://mp.weixin.qq.com/s/qhFERQ1odNkgZS0PkHm1EA) - [数组长度可以为变量吗?](https://blog.csdn.net/qq_29426201/article/details/106342991) - [是否应该使用异常处理](https://mp.weixin.qq.com/s/BIaz2Vbf3HyjEDTM9abSAg) - [new/delete、new[]/delete[]为什么需要配对使用](https://mp.weixin.qq.com/s/5vFess8NxQdUwsvtrWs8WA) - [指针和引用的区别以及使用场景](https://mp.weixin.qq.com/s/f9KQ1eNGGSY2Lqv9JM4UVQ) - [C++对象布局分析](https://mp.weixin.qq.com/s/sufz7wxC_rwc1q3FXY-QMQ) - [C++为什么要入这4种类型转换?](https://mp.weixin.qq.com/s/6YW7VX787X7kZiRBLbVn-Q) - [为什么会出现nullptr?](https://mp.weixin.qq.com/s/dov9ofXoJTX8rEa9asTZuQ) - [非常全面的时间相关所有函数使用](https://mp.weixin.qq.com/s/0W8JBokXk0vPlAtkd2sFPQ) - [C++编码规范](https://mp.weixin.qq.com/s/ulSr2GUc1pJf09LxnwTTqQ) - [sqlite3使用教程](https://mp.weixin.qq.com/s/xrIxe9JE7uNzir0c8i1tsQ) - [如何学好C++?](https://mp.weixin.qq.com/s/VJc_pIdYjmvU1t7W0zTpBA) - [volatile关键字解析](https://mp.weixin.qq.com/s/6rkCEBuFjUHERk9RmeWLbQ) - [C++避坑指南](https://mp.weixin.qq.com/s/7PolqHz6IH1wuZTXKPU_xg) - [字符串split方法实现](https://mp.weixin.qq.com/s/LdiMuhY0IDFCP8V1dPxg-g) - [RTTI知识点](https://mp.weixin.qq.com/s/vzuU0qRRsD-aLuWxMTXA_g) - [C++匠心之作从0到1入门资料](https://github.com/AnkerLeng/Cpp-0-1-Resource) #### C++11 新特性 - [auto&decltype知识点](https://mp.weixin.qq.com/s/3BQ2JlVQsE0sm6eDNa5AdA) - [左值、右值、左值引用、右值引用、移动语义、完美转发](https://mp.weixin.qq.com/s/aCv7vIyrGyqu06QpNjZFTA) - [C++11列表初始化](https://mp.weixin.qq.com/s/wpV4K0aJS9l3ilk4nuurQA) - [std::function和lambda表达式](https://mp.weixin.qq.com/s/6zzF8GEgpMsNrdoBLi5csA) - [C++11的模板改进](https://mp.weixin.qq.com/s/bnu46tUodqxKLfLJ5Zxd0A) - [智能指针](https://mp.weixin.qq.com/s/Aujdxj3k_apNwW9Cnd3_eg) - [线程相关所有知识点](https://mp.weixin.qq.com/s/rPjRTOTYK2SGr6WxgWI_Vg) - [C++11新特性的所有知识点](https://mp.weixin.qq.com/s/kAH-402oYgAa3GAVgJ8EaQ) #### C++14 新特性 - [C++14新特性的所有知识点](https://mp.weixin.qq.com/s/xeeOfusRDSUQQyplUA-o7g) #### C++17 新特性 - [C++17新特性的所有知识点](https://mp.weixin.qq.com/s/6FcCfFWHwcmywPuemyxHng) - [variant实现多态](https://mp.weixin.qq.com/s/bTFbunrSLnOtyCSJEZwR3A) #### C++20 新特性 - [C++20新特性指南](https://mp.weixin.qq.com/s/TSnN9QRyqZsa8i9-KKKDpQ) - [latch、barrier、semaphore](https://mp.weixin.qq.com/s/5VFXzsaxwLJumCvMtbVHJg) #### 常用的新特性 - [我常用的C++新特性](https://mp.weixin.qq.com/s?__biz=MzkyODE5NjU2Mw==&mid=2247486826&idx=1&sn=6c9779db19fb28585aceb904878d203b&chksm=c21d3fd6f56ab6c0e3ef5ab39d67006942e30d8bd2607a1023d23db7e7dff97796e1ab288d8f&token=1242239139&lang=zh_CN#rd) #### 必备技能 - [如何写简历](https://mp.weixin.qq.com/s/JBVR4W4cyd3xVvF6dAEF4g) - [程序员必备技能](https://mp.weixin.qq.com/s/IVdtn_9DQXO0a3pn_jHhaA) - [如何适应新环境](https://mp.weixin.qq.com/s/jJsUf9YfzVMGIVk2AwKNTA) - [大佬的经验之谈](https://mp.weixin.qq.com/s/1PpbVTu9Dt3Zr4YuDpC_uQ) ### 进阶必备 #### 常识 - [条件变量有个坑需要注意](https://mp.weixin.qq.com/s/gqq6TZCNabI3qvejzqFcGQ) - [为什么都说虚函数慢?](https://mp.weixin.qq.com/s/eIS8kjPT6R_uQMqLwKSXDQ) - [C++内存管理全景指南](https://mp.weixin.qq.com/s/GGoPUZjgmGPewATL_QuJSA) - [编译器如何实现的lambda表达式](https://mp.weixin.qq.com/s/L0tAA9tGdL2i8K-iO7UusQ) - [普通的int main(){}没有写return 0会怎么样?](https://mp.weixin.qq.com/s/k3i7MW28UVtr86RU51-KuQ) - [为什么空类大小是1](https://mp.weixin.qq.com/s/uatF3kF7SRQ-zLpXSoYeyg) - [SDK开发的一些思考](https://mp.weixin.qq.com/s/DmWTD8ve0pfomy4pl4O43Q) - [软件开发的建议](https://mp.weixin.qq.com/s/2sgLPjyujNrO8fgsTRTPDA) - [模板定义一定要写在头文件中吗](https://mp.weixin.qq.com/s/49rziyP5XICMn16vFcK_ew) - [折叠表达式知识点](https://mp.weixin.qq.com/s/0BTD8w_doWXBsHx6ij72jg) - [cout vs printf](https://mp.weixin.qq.com/s/wAS1Xk4IsGmBggg4WiBaIw) - [async的两个坑](https://mp.weixin.qq.com/s/lNct6HRknCNL9X9DAZjCBg) - [const重载](https://mp.weixin.qq.com/s/xsMwv1hR31YqquPFB4oTWw) - [优雅的实现多维数组](https://mp.weixin.qq.com/s/Lz7pC-0DF0PtBnULBw-Gqw) - [推荐资料:更多C++编程技法](https://upload.wikimedia.org/wikipedia/commons/5/55/MoreCppIdioms.pdf) #### 源码分析 - [源码分析string的实现](https://mp.weixin.qq.com/s/jnYQ_TRqe8otOhST8Pesww) - [源码分析shared_ptr的实现](https://mp.weixin.qq.com/s/rx5QvFHCacC7SHtXlV_C8w) - [分析STL的基础能力:type_traits](https://mp.weixin.qq.com/s/4VbipLVR34D_iOMiJntHnw) - [STL容器源码分析](https://mp.weixin.qq.com/s/Khys6g82qRQxqJjKSUTreA) - [malloc内存分配器原理](https://mp.weixin.qq.com/s/KKsMAYh9mgr0GEgqxKWA_g) #### 性能优化 - [高效代码的一些建议](https://mp.weixin.qq.com/s/B0cKUQyL4q34Zb6TggtcRQ) - [编译器都做了哪些优化](https://mp.weixin.qq.com/s/_Dunn97fMDkEhkPidf1IJw) - [strip必知必会](https://mp.weixin.qq.com/s/twFor039zSOuqVKE4XdX0Q) - [静态代码分析工具:让bug无所遁形](https://mp.weixin.qq.com/s?__biz=MzkyODE5NjU2Mw==&mid=2247493747&idx=1&sn=39db000227fb46570dfff160ca89b413&chksm=c21edacff56953d95f357a6a8b8eca12dd810d20dd170858867377795a21e86b5ae127fb871f#rd) - [科普内存对齐](https://mp.weixin.qq.com/s/iJlOcQjVf6e7a3K84fdekg) - [高性能代码必备:CPU Cache](https://mp.weixin.qq.com/s/iKWQZxn6XYKU9KnlBRynfg) - [if-else效率为什么这么低?](https://mp.weixin.qq.com/s/m8avve1ahFrf8KJ0n2w8mA) - [如何消灭if-else](https://mp.weixin.qq.com/s/cSrJao-sexcS18EhIQlA-Q) - [性能调优工具大全](https://mp.weixin.qq.com/s/WL-agdox7uNaPe4PV8HgQg) - [如何优化Linux程序体积大小](https://mp.weixin.qq.com/s/oOExVor6RMDE3SHG4UZ1_Q) - [代码效率分析](https://mp.weixin.qq.com/s/i7V6lmtQpuFADYZ8ApmkWA) - [并发方向的优化](https://mp.weixin.qq.com/s/sxlmaCChrosZ8Qcaew7G7A) - [内存方向的优化](https://mp.weixin.qq.com/s/0uK98WsXv57lJYakA2oqGg) - [如何设计结构体](https://mp.weixin.qq.com/s/FbaGdRgUFmfXYY52NxbbbA) - [如何设计C++的类](https://mp.weixin.qq.com/s/p7zzhYgJklbNhkl362r0fQ) - [多线程的一些建议](https://mp.weixin.qq.com/s/SkH2CotAenSE79I2LMbD0w) #### 造轮子必备 - [如何设计高效的log模块](https://mp.weixin.qq.com/s/hdkjkNaLQFGP2M83GN7JkQ) - [如何实现功能完备的线程池](https://mp.weixin.qq.com/s/uz85-w9ZfwRP0ZZCI7jOzQ) - [如何实现定时器](https://mp.weixin.qq.com/s/Hmn5B7qctAp20tggnQcFTw) - [怎么自己写一个内存泄漏检测工具](https://mp.weixin.qq.com/s/NE4Ozd2XtIshN45YJjR04Q) - [简单的对象池实现](https://mp.weixin.qq.com/s/bWe8dLs-sgoCI_5sQbeOaw) - [简单的shared_ptr实现,代码有点bug,具体见评论区](https://mp.weixin.qq.com/s/n8O0Xn8hqpa5On-h8Zlcbg) #### 编译链接 - [gcc test.cc的背后经历了什么?](https://mp.weixin.qq.com/s/PaXLQnaCjGkQGIjnPnqRww) - [程序一定要从main函数开始运行吗?](https://mp.weixin.qq.com/s/ZkLAykPN5UbZuYsDn97kDA) - [程序链接与分段知识点](https://mp.weixin.qq.com/s/p6WyMlTQJ6ZumZFdt3531w) - [可执行程序装载到虚拟内存全过程](https://mp.weixin.qq.com/s/86HecgrAj4gH7ZQi0jF0Ng) - [函数调用全流程](https://mp.weixin.qq.com/s/rHLPyrEPLHdZCuJ175Cung) - [共享库的版本控制](https://mp.weixin.qq.com/s/nQgM0zT24chXn7kzhQ5ypA) - [动态链接原理](https://mp.weixin.qq.com/s/IE7nE6ERb_0OtnZbF-GK8g) - [静态链接与动态链接的区别](https://mp.weixin.qq.com/s/VDnTE6ImQXt_MxbhEHQk_Q) - [科普文:编译链接的套路](https://mp.weixin.qq.com/s/R1hiec0Z0T5bPHswkLNQWw) - [Debug模式和Release模式的区别](https://mp.weixin.qq.com/s/A_XLPZ-FgYIUMHLYVum7jQ) #### 调试系列 - [代码调试手段](https://mp.weixin.qq.com/s/wFy3EueN1oEMTKjeNBYuRg) - [Linux如何调试内存泄漏](https://mp.weixin.qq.com/s/0JsxzsOAQfLPCSpldYkKkA) - [内存泄漏调试方法论](https://mp.weixin.qq.com/s/K2Fvn6jDm71fdpQjix_wrg) - [gdb使用指南](https://mp.weixin.qq.com/s/S-B2KZ7UTaIDzAgKG32VAQ) - [如何使用gdb定位死锁问题](https://mp.weixin.qq.com/s/O4xuCcPMXG4Y9ktIn8578A) ### 操作系统 - [推荐清华老师的操作系统视频](https://www.bilibili.com/video/BV1uW411f72n?from=search&seid=7182050251415608805) - [推荐哈工大老师的操作系统视频](https://www.bilibili.com/video/BV1d4411v7u7?from=search&seid=7182050251415608805) - [推荐一个内核学习的视频](https://www.bilibili.com/video/BV1yD4y1m7Q9) - [进程和线程相关知识点总结](https://mp.weixin.qq.com/s/NCl17jrOwP_A017nUqOkJQ) - [操作系统内存管理知识点](https://mp.weixin.qq.com/s/yzvye0rJto1P7zSTh03kZQ) - [64位系统与32位系统的区别](https://mp.weixin.qq.com/s/Ls0YAbXPHLdu7LG3VzNsTw) - [malloc内存分配器实现原理](https://mp.weixin.qq.com/s/KKsMAYh9mgr0GEgqxKWA_g) - [Linux 内核官方文档](https://docs.kernel.org/index.html) - [Linux 内核源码](https://github.com/torvalds/linux) - [Linux 内核揭秘](https://xinqiu.gitbooks.io/linux-insides-cn/content/index.html) - [Linux 内核模块编程指南](https://sysprog21.github.io/lkmpg/) - [Linux 内存布局与malloc底层实现分析](https://mp.weixin.qq.com/s/3bXAGR_7XLX21nkdl9dQ8Q) ### 设计模式 - [推荐一个非常好的学习设计模式的网站](https://refactoringguru.cn/design-patterns) - [设计模式汇总](https://mp.weixin.qq.com/s/knzV1-bmrI7jhQqnhogGkw) - [双分派设计模式](https://mp.weixin.qq.com/s/I1qXomFD1TiGnUV48DXrxw) - [pimpl模式](https://mp.weixin.qq.com/s/LyPabf13uJ4QMwEF1rXf6A) ### Java - [JNI如何巧妙获取env](https://mp.weixin.qq.com/s/Q7hq4BceQ3JCr3CXhbma4g) - [JNI内存管理之Local Reference和Global Reference知识点](https://mp.weixin.qq.com/s/5Q2Exx9W5BckpI3AhzShHQ) - [Android Native内存泄漏调试心得](https://mp.weixin.qq.com/s/AlqD2Wp2g6qUMXG9zeqEow) - [JNI知识点](https://mp.weixin.qq.com/s/KFWYOq3QRXeyu2ygeuy5-Q) ### 算法 - [袁厨的算法小屋](https://github.com/chefyuan/algorithm-base) - [厨子的网站](http://www.chengxuchu.com) - [一定要猛刷leetcode](https://leetcode-cn.com/) ## 知名大学计算机系开源课程收录 - [浙江大学课程攻略共享计划](https://qsctech.github.io/zju-icicles/) - [清华大学计算机系课程攻略](https://rekcarc-tsc-uht.readthedocs.io/en/latest/) - [北京大学课程资料民间整理](https://lib-pku.github.io/) - [上海交通大学课程资料分享](https://github.com/c-hj/SJTU-Courses) - [北京邮电大学计算机考研信息汇总](https://ningzimu.github.io/See_you_in_BUPT/) - [北京航空航天大学(北航)课程作业资料共享计划](https://github.com/TheBloodthirster/BUAA_Course_Sharing) - [华北电力大学计算机系课程攻略](https://github.com/IammyselfYBX/NCEPU_CS_course) ## 深度学习 - [《PapersWithCode》对机器学习做了分类,检索对应的模型非常方便,这个网站包含:论文 + github实现代码 + 经典 + 最新 + 多版本对比 + 神器](https://paperswithcode.com/) - [《动手学强化学习》 - 上海交通大学 - 课程主页](http://hrl.boyuai.com/) - [《动手学深度学习》 - 李沐 亚马逊资深首席科学家 - 课程主页](https://courses.d2l.ai/zh-v2/) - [ 动手学深度学习课程的 markdown 笔记和相关的 jupyter 代码](https://github.com/HIT-UG-Group/DeepLearning-MuLi-Notes) ## 科普 - [计算机为什么从0开始计数](https://mp.weixin.qq.com/s/6zAmABxH8jHy8l5r0_9Kag) - [为什么不能include cpp](https://mp.weixin.qq.com/s/NVEZnF1HqpIMSBlw_PXwyA) - [if-else和switch-case效率对比分析](https://mp.weixin.qq.com/s/mTik1pfNigGnVnB6oK8ilA) ## 生活 - [打工人保命指南](https://mp.weixin.qq.com/s/4hY8xM7omrVOnvexJmCehA) - [不要为35岁焦虑](http://mp.weixin.qq.com/s?__biz=MzkyODE5NjU2Mw==&mid=2247486284&idx=1&sn=0b6109414afaf5164c5a782407bbe923&chksm=c21d39f0f56ab0e6ca8115cceb9b3774fcdbec3aab221635e2fb281be1b381d259280d30c44b&token=830665182&lang=zh_CN#rd) - [防诈骗指南](http://mp.weixin.qq.com/s?__biz=MzkyODE5NjU2Mw==&mid=2247486676&idx=1&sn=709abc972c52ea6019f93f562da2efee&chksm=c21d3e68f56ab77eec8e6215321413f1f707f4cae8f72bdc135d58f22b88e4ce17f64f93f8e0&token=1242239139&lang=zh_CN#rd) ## 其它 - [C语言如何实现动态扩容的string](https://mp.weixin.qq.com/s/6T4LN3Qkc9OJeCQEBiivcQ) - [音视频学习资料整理](https://mp.weixin.qq.com/s/QE-Zqd9oBQZI4T73ehITKg) - [C++全链路追踪方案](https://mp.weixin.qq.com/s/ZZd_o_x5Ti8o8haMjG0btw) - [开源库推荐](https://mp.weixin.qq.com/s/LSy4fnWKMEln7v9QO-aeZA) ## 机器人 - [开源机器人学习指南](https://github.com/qqfly/how-to-learn-robotics)