不少人学 C++ 卡在同一个地方:语法书翻完了,能写点小练习,但一看到真实项目里的类层次、模板报错、对象生命周期就不知道从哪下手。这套八部曲针对的正是这个断层——它不教你怎么打印 Hello World,而是讲清楚 C++ 在工程里到底怎么被用起来。

它解决的是哪类问题

课程内容围绕 C++ 的几个核心机制展开:面向对象的设计思路、继承与多态的实际写法、模板与泛型的组织方式,以及标准库中容器、算法、迭代器的配合使用。这些恰好是工作中最常遇到、也最容易写错的部分。比如什么时候该用虚函数、什么时候用模板特化、容器的选择会影响什么,这些问题在项目里天天出现,但很少有资料把它们串起来讲。学完之后你面对一个中等规模的需求,能自己判断该用什么结构去组织代码,而不是照着别人的写法抄一遍却说不清为什么。

另一个实际价值是看懂别人的代码。接手一个已有项目时,最怕的是看不懂类之间的关系和模板的层层嵌套。这部分内容能帮你建立一套拆解的思路,遇到复杂声明和继承链时知道从哪一层开始读。

适合什么基础,先看哪几块

前提是已经会写基本的 C++ 程序:变量、循环、函数、简单的类定义,这些如果还不熟,直接看会比较吃力。有其它语言基础、想转到 C++ 的人也可以跟,但需要边看边补语法细节。

建议的进入顺序是先看面向对象和类设计相关的部分,把封装、继承、多态这几件事在实际代码里的样子弄清楚;再看模板与泛型,这部分难度上升明显,放在有了一定类设计感觉之后更顺;标准库的容器与算法可以穿插着看,边学边用在练习里。不要一上来就啃模板,容易劝退。

怎么配合练习,学完能做什么

这套资料是视频为主,配了随堂的笔记文件。比较有效的用法是:每看完一段,先别急着往下走,把视频里的示例代码自己敲一遍,然后改几个地方——换个容器、加一层继承、把普通函数改成模板——看编译报错怎么变。报错信息本身就是很好的学习材料,能帮你建立对类型系统的直觉。

笔记适合当复习提纲用,看完一节后对照笔记回忆关键点,想不起来的再回看对应片段,比反复整段重看省时间。

学完能独立做的事大致是:独立设计一个包含多个类、有继承关系的小型模块;读懂中等复杂度的 C++ 代码;用标准库容器和算法完成常见的数据处理任务;遇到模板相关的编译错误时能定位到问题所在。这些能力足以应付日常开发中的多数场景,也是继续深入底层或性能优化的起点。如果目标是写高性能库或者做底层开发,这套内容只是打底,后面还需要专门补内存模型和并发方面的知识。

课程目录

侯捷老师C++ 全系列八部曲 - 手把手教你进阶系列 C++???????�� ?????? ??????????????????????????C++???????????????????????????????? ? ????? ?????????????????��?????????????????C++???????? ?��????? ? ?????????? ? ?????????? ? C++?��????????? �γ�Ŀ¼ ? 08?????????????????? 7.???????????????????.mp4
 [311.5 MB] 14.???????????????????????????????cunWorkNotes ??????.mp4
 [77.5 MB] 5.????????.mp4
 [358.3 MB] 3.??????????????.mp4
 [222.1 MB] 9.??????????????????.mp4
 [199.2 MB] 2.??????????URL????.mp4
 [295.3 MB] QQ???20210129090328.png [14.8 KB] 10.????????.mp4
 [458.6 MB] 6.??????????????????.mp4
 [305.9 MB] 1.????????.mp4
 [252.5 MB] 13.???????????2.mp4
 [526.7 MB] 4.??????????????.mp4
 [235.9 MB] 8.???????????????????.mp4
 [323.7 MB] 11.???????????????.mp4
 [518.6 MB] ? 

09 - ?????? ??????????????????????????????CunworkNotes??.mp4
 [139.7 MB] ???????????????????????.mp4
 [231.4 MB] ???????????????????????.mp4
 [195.5 MB] ? 07?????????????????? 3.????????????????????????CunWorkNotes??.mp4
 [86.9 MB] 16.??????.mp4
 [58.5 MB] 19.?????????????????????????????CunWorKNotes??.mp4
 [72.8 MB] 10.???????????.mp4
 [71.4 MB] 12.???????.mp4
 [113.5 MB] 11.???????????????????????cunWorkNotes ??????.mp4
 [84.2 MB] 20.??????????????????????????CunWorknotes?? .mp4
 [92.0 MB] 13.???????????.mp4
 [53.8 MB] 5.?????????.mp4
 [36.7 MB] 1.???????????????????.mp4
 [80.3 MB] 8.??????.mp4
 [76.4 MB] 18.??????.mp4
 [115.1 MB] 14.????????????.mp4
 [79.3 MB] 6.??????????.mp4
 [106.8 MB] 7.?????????.mp4
 [31.4 MB] 2.???????????????.mp4
 [47.9 MB] 15.???????????.mp4
 [81.8 MB] 17.???????.mp4
 [92.1 MB] 9.???????????.mp4
 [81.3 MB] 4.???????????????.mp4
 [78.8 MB] QQ???20210129085911.png [73.8 KB] 21.??????????.mp4
 [57.6 MB] ? 

06 - ??? C++ Startup ?????C++ ?????????????? ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P9 

09 main ??????????????????????????????CunWorKNotes??.MP4
 [667.4 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P2 

02 ???? Startup code ???????main ?????????? Call??.MP4
 [70.1 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P12 

12 c init Startup????????????????CunWorkNotes??.MP4
 [344.4 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P3 

03 Startup code ?????.MP4
 [97.7 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P6 06 ??????A??????.MP4
 [288.6 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P10 

10 HeapAlloc ????????.MP4
 [338.6 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P1 

01 ?????????? Startup code.MP4
 [255.5 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P8 08 ??????A?????.MP4
 [199.6 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P4 

04 heap init Startup?????????????.MP4
 [291.2 MB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P7 07 ??????A??????.MP4
 [232.9 MB] ?????_20210202213957.png [48.7 KB] ???? 1080P ??GeekBand????? C++ Startup ?????C++ ???????????????? P5 05 ??????A?????.MP4
 [214.1 MB] ? 

04 - ??? - C++?????C++11&14 28. ???? array???????????????CunWorknotes?? .mp4
 [61.8 MB] 26. Move-aware class ???????????????.mp4
 [255.2 MB] 13. decltype????????????????cunWorkNotes ??????.mp4
 [351.1 MB] 23. Rvalue references and Move Semantics????????CunWorkNotes??.mp4
 [366.3 MB] 25. ????? Move-aware class??????????????????CunWorkNoteS??.mp4
 [227.1 MB] 29. ???? Hashtable.mp4
 [113.7 MB] 16. Variadic Templates 2.mp4
 [109.0 MB] 18. Variadic Templates 4.mp4
 [85.7 MB] 12. Type Alias, noexcept, override, final????????CunWorkNotes??.mp4
 [398.2 MB] 11. Template template parameter.mp4
 [184.2 MB] 1. ????????????????????????????????CunworkNotes??.mp4
 [373.9 MB] 17. Variadic Templates 3.mp4
 [121.3 MB] 24. Perfect Forwarding.mp4
 [189.3 MB] 14. lambdas.mp4
 [567.8 MB] 22. ????????????.mp4
 [56.4 MB] 21. Variadic Templates_7 & C++ Keywords.mp4
 [121.5 MB] 20. Variadic Templates 6.mp4
 [314.5 MB] 3. Spaces in Template Expression??nullptr and std--nullptr_t??Automatic Type Deduction with auto.mp4
 [189.7 MB] 2. Variadic Templates.mp4
 [379.6 MB] 19. Variadic Templates 5.mp4
 [151.0 MB] 6. Initializer_list?????.mp4
 [324.0 MB] 9. =default, =delete.mp4
 [406.3 MB] 27. ?????????????_????????? ?? ??????????.mp4
 [48.8 MB] 8. Range??based for statement.mp4
 [174.4 MB] QQ???20210129002955.png [66.1 KB] 10. Alias Template.mp4
 [384.6 MB] 4. Unifrom Initialization.mp4
 [224.5 MB] 7. Explicit for ctors taking more than one argument.mp4
 [139.6 MB] 30. Hash function.mp4
 [330.4 MB] 5. Initializer_list?????.mp4
 [67.4 MB] 15. Variadic Templates 1.mp4
 [190.2 MB] 31. Tuple.mp4
 [261.1 MB] ? 

03 - ??? - C++????? 25.????????????????????????CunWorkNoteS??.mp4
 [112.2 MB] 4.??????.mp4
 [140.3 MB] 15.??????????????CunWorkNotes??.mp4
 [71.7 MB] 19.?????.mp4
 [66.6 MB] 24.??????.mp4
 [107.3 MB] 9.?????.mp4
 [148.9 MB] 16.??????.mp4
 [95.1 MB] 11.??????.mp4
 [105.8 MB] 7.????.mp4
 [147.5 MB] 20.????????????????????????CunWorKNotes??.mp4
 [81.2 MB] 5.???????.mp4
 [231.3 MB] 3.??????.mp4
 [555.6 MB] 12.??????.mp4
 [133.1 MB] 23.??????.mp4
 [71.7 MB] 6.?????.mp4
 [239.5 MB] 21.??????.mp4
 [61.0 MB] 10.?????.mp4
 [75.9 MB] 14.??????.mp4
 [58.5 MB] 17.??????.mp4
 [59.7 MB] 1.????????.mp4
 [422.7 MB] 18.????.mp4
 [104.8 MB] 8.???????? .mp4
 [187.5 MB] 22.?????.mp4
 [73.8 MB] 2.?????????????.mp4
 [429.8 MB] 26.????????.mp4
 [61.2 MB] 13.?????.mp4
 [72.3 MB] 1.png [47.7 KB] ? 

05 - ??? - C++??????????_60_??? 38.SBH???????-????+???????????????1??????????????????cunWorkNotes ??????.mp4
 [776.7 MB] 30.G2.9std_alloc?????????.mp4
 [562.1 MB] 37.VC6??????5??.mp4
 [431.7 MB] 4.??????????newdelete expression(??).mp4
 [360.7 MB] 13.Per-class allocator 2.mp4
 [403.8 MB] 19.BC5??????????????????????????????CunWorkNoteS??.mp4
 [60.1 MB] 32.VC6??VC10??malloc??????????????????cunWorkNotes ??????.mp4
 [527.6 MB] 56.??Const??????????????????CunWorkNoteS??.mp4
 [591.5 MB] 23.G2.9std alloc??????????????????CunworknoteS??.mp4
 [572.4 MB] 2.?????????????.mp4
 [315.3 MB] 40.SBH???????-????+???????????????3????????????????????CunworkNotes??.mp4
 [285.5 MB] 58.??????????????????????CunWorknotes?? .mp4
 [75.8 MB] 49.Loki_allocator????????????????CunWorknotes?? .mp4
 [233.9 MB] 11.???????????????????????????CunWorknotes?? .mp4
 [435.3 MB] 53.G4.9 debug_allocator.mp4
 [280.1 MB] 3.???????????????.mp4
 [381.6 MB] 43.VC6????????????.mp4
 [496.4 MB] 34.VC6??????2??.mp4
 [231.9 MB] 45.??????????classes????.mp4
 [298.7 MB] 35.VC6??????3??.mp4
 [248.7 MB] 17.VC6 malloc().mp4
 [258.4 MB] 20.G2.9?????????????.mp4
 [104.9 MB] 18.VC6?????????????.mp4
 [108.6 MB] 16.New Handler.mp4
 [418.5 MB] 36.VC6??????4??.mp4
 [357.8 MB] 29.G2.9std_alloc????????????.mp4
 [915.1 MB] 8.Replacement new.mp4
 [158.5 MB] 5.??????????newdelete expression(??).mp4
 [112.7 MB] 59.???.mp4
 [648.9 MB] 9.????.mp4
 [471.1 MB] 6.??????????newdelete expression(??).mp4
 [195.9 MB] 39.SBH???????-????+???????????????2??.mp4
 [248.9 MB] 15.Macro for static allocator.mp4
 [214.4 MB] 44.VC6????????????.mp4
 [285.0 MB] 28.G2.9std_alloc?????????????.mp4
 [251.7 MB] 54.bitmap_allocator(??).mp4
 [606.0 MB] 27.G2.9std_alloc????????????.mp4
 [682.0 MB] 57.????new,delete&.mp4
 [206.2 MB] 42.VC6??????free(p)?????.mp4
 [157.2 MB] 47.class FixedAllocator?????????.mp4
 [479.5 MB] 60.Basic string???new??extra????????????.mp4
 [105.0 MB] 14.Static allocator.mp4
 [399.0 MB] 48.class FixedAllocator?????????.mp4
 [458.8 MB] 31.G4.9pull allocator???????.mp4
 [521.4 MB] 7.Array new.mp4
 [568.4 MB] 21.G2.9std_allocVSG4.9_pull_alloc.mp4
 [108.1 MB] 25.G2.9std_alloc??????06-10.mp4
 [278.6 MB] 24.G2.9std_alloc??????01-05.mp4
 [462.1 MB] 52.G4.9array_allocator.mp4
 [291.2 MB] 1.Overview.mp4
 [496.8 MB] 46.Loki_allocator??????.mp4
 [431.6 MB] 26.G2.9std_alloc??????11-13.mp4
 [469.7 MB] 55.bitmap_allocator?????.mp4
 [401.5 MB] 41.SBH???????-????+???????????????4??.mp4
 [245.8 MB] 12.Per-class allocator.mp4
 [459.0 MB] 51.VS2013?????????&G4.9???????????new_allocator???G4.9malloc.mp4
 [161.5 MB] 22.G4.9pull alloc????.mp4
 [297.7 MB] 33.VC6??????1??.mp4
 [374.4 MB] 10.????????????.mp4
 [201.6 MB] 50.GNU C++??allocators??????.mp4
 [787.6 MB] QQ???20210129003010.png [71.4 KB] ? 

02 - ??? - STL??????????? 2. STL?????????????.mp4
 [508.5 MB] 44. cout??????????????????CunWorkNoteS??.mp4
 [162.8 MB] 41. Tuple ????.mp4
 [727.1 MB] 13. ??????list???????????????????????CunworknoteS??.mp4
 [378.6 MB] 33. Binder2nd.mp4
 [580.8 MB] 37. inserter.mp4
 [213.4 MB] 45. movable??????deque???????????????????????????CunworkNotes??.mp4
 [449.5 MB] 32. ???????Adapter????????CunWorkNotes??.mp4
 [183.4 MB] 6. ?????????????????????.mp4
 [447.2 MB] 2.??.mp4
 [110.3 MB] 1. ???headers?????????????.mp4
 [273.4 MB] 43. type traits ???.mp4
 [384.2 MB] 35 bind.mp4
 [417.0 MB] QQ???20210129002938.png [70.9 KB] 11. ??????.mp4
 [525.1 MB] 34. not1.mp4
 [126.5 MB] 8. ????????? (VC, GCC).mp4
 [144.9 MB] 38. ostream_iterator.mp4
 [254.9 MB] 15. ???????????????Iterator Traits???????????.mp4
 [377.8 MB] 7. ???????????.mp4
 [181.2 MB] 36. reverse_iterator.mp4
 [160.5 MB] 20. RB-tree ??????.mp4
 [556.0 MB] 25. hash_set??hash_multiset, hash_map??hash_multimap????.mp4
 [419.3 MB] 18. deque??queue?? stack???????????.mp4
 [351.3 MB] 17. array??forward_list??????.mp4
 [133.0 MB] 40. ????????hash function.mp4
 [791.5 MB] 24. hashtable???????????.mp4
 [276.2 MB] 28. ???????????category??.mp4
 [369.9 MB] 42. type traits.mp4
 [598.9 MB] 4. ??????????????????????.mp4
 [252.5 MB] 10. ????????????????????and???(????, ????, ????).mp4
 [367.9 MB] 16. vector??????.mp4
 [366.8 MB] 27. ???????.mp4
 [80.7 MB] 22. map??multimap??????.mp4
 [319.2 MB] 14. ??????list?????.mp4
 [188.5 MB] 12. ??????????????????.mp4
 [94.0 MB] 21. set??multiset??????.mp4
 [256.0 MB] 29. ??????????category???????????.mp4
 [533.2 MB] 31. ??????????????.mp4
 [351.6 MB] 19. deque??queue?? stack???????????.mp4
 [538.3 MB] 3. ?????????????????????.mp4
 [500.3 MB] 26. unordered????????.mp4
 [86.5 MB] 23. hashtable???????????.mp4
 [419.3 MB] 5. ??????????????????????.mp4
 [395.6 MB] 30. ?????????????11???????.mp4
 [584.3 MB] 39. istream_iterator.mp4
 [346.9 MB] 46. ???????.mp4
 [468.6 MB] 9. OOP (?????????) vs. GP (???????.mp4
 [242.9 MB] ? 

01 - ??? - C++??????????????????????????? ? 01??C++???????????????? 1.C++?????.mp4
 [186.2 MB] 4.?????????????????????CunWorkNotes??.mp4
 [539.7 MB] 8.????????????.mp4
 [565.1 MB] 5.???????????????????.mp4
 [751.6 MB] 3.??????.mp4
 [375.7 MB] 6.???Complex?????????.mp4
 [383.2 MB] 9.???String?????????.mp4
 [362.7 MB] 13.?????????.mp4
 [530.7 MB] 2.?????????????.mp4
 [306.4 MB] 11.???????.mp4
 [553.2 MB] 12.??D??????.mp4
 [509.2 MB] 7.?????????????????????????????.mp4
 [464.4 MB] 10.???????????????????????????.mp4
 [468.8 MB] ? 02??C++???????????????? namespace????? 6??????????????????CunworknoteS??.mp4
 [132.6 MB] Funtion Template 8.mp4
 [107.2 MB] conversion function2.mp4
 [321.8 MB] ???????? 14.mp4
 [800.1 MB] ????Dynamic Binding 18.mp4
 [613.5 MB] Member Template 9.mp4
 [330.5 MB] ????????? 12.mp4
 [391.6 MB] function-like classes 5.mp4
 [418.7 MB] ????this 18.mp4
 [300.7 MB] Operator new??operator delete.. 21.mp4
 [147.1 MB] Reference 15.mp4
 [691.0 MB] non-explicit one argument constructor 3.mp4
 [562.6 MB] ????new(),delete()$??? 23.mp4
 [445.6 MB] ????C++????? 13.mp4
 [376.4 MB] Basic_String???new(extra)?????????? 24.mp4
 [112.4 MB] specialization 10.mp4
 [201.6 MB] class template 7.mp4
 [74.3 MB] ????1.mp4
 [429.6 MB] ????vptr??vtbl 17.mp4
 [775.4 MB] ??????? 11.mp4
 [177.5 MB] ????&????????????????? 16.mp4
 [415.6 MB] pointer-like classes 4.mp4
 [634.6 MB] ????New,Delete 20.mp4
 [72.9 MB] ????vptr??vtbl 18.mp4
 [167.3 MB] ??? 22.mp4
 [311.5 MB] ?????? C++?????? ??????? ???????? ѧϰ�ջ� ????C++?????????? ????????????? ????????C++?��?? ???????? ????????????????