CS106L: Standard C++ Programming, Special Edition
课程内容涉及 C++ 五大主题:C++ 介绍、Stream 和 Types、STL 四大模块、OOP 面向对象、高级特性(RAII、多线程、元编程)。本系列整合了 CS106L 课程公开的资料,系统完整的涵盖了 C++ 核心内容,方便学习。搭配《C++ Primer》,一起享用更佳!
CS106L
- 学习时间: 刷课一周,复习4天
- 课程内容:CS106L是Stanford开设的C++语言课程,主要介绍了C++的现代特性,在基础语法上并不花时间,所以需要有一定的语言基础。CS106L是CS106B/CS106X的companion class,CS106B是以C++为基础的计算机导论课,讲了一些数据结构(?,笔者没上过,有误请指正😇),只讲一些的C++,所以CS106L可以被视为一门正儿八经的语言课,而106b/x更多关注于语言以外的内容。
- 适合学生:没有其他的语言基础的话学起来会相对更吃力一点,推荐有其他类C语言基础的同学上。Java和C++还是挺像的,class,
operator,inheritance等部分和Java基本一致,只不过在语法上有所出入;Python的话和C like的语言就差异比较大了😥学习C++之前还是建议学一学C,一些比较low level的部分基本与C一致
CS106L Standard C++ Programming
AUT AP1400-2
- 该课程没有课程主页,只有GitHub上的作业repo:aut courseworks (github.com),但已经足够
- 对于106L作业质量不佳的情况,笔者选择去做AUT的AP1400-2,但是这个coursework有一定的门槛,需要一点Docker的知识,看懂Dockerfile即可,但是不会也没事,直接手动build也行,可以加个AP1400-2的交流群,群主很热心,群文件里有环境配置的文档(感谢群主大大🥰🥰)
- 作业质量: 说实话AP1400-2的6个HW是我目前为止做的最舒服的HW,没有很长的spec,
我做过AP1400-2,那里的coding很纯粹。实现的东西很简洁也常见,但触及到的C++特性却基本上包含了笔者在106L以及Programming notes学到的内容,非常好的上手体验。每个HW需要花的平均时间大致为两到三天(笔者尽量多去写新特性,所以花费的时间可能比大部分人多) - HW具体内容:
- 1.HW1相对比较无聊,实现的是一个algebra的库,用到的基本上都是线代的知识,虽然笔者做完了HW1,但还是只建议做HW1的一半,做一半大概就能熟悉了大致的实现过程,剩下的基本就是数学的加加减减
- 2.HW2实现的是一个中心化的加密货币交易过程,里面一些概念相对比较难理解,但是基本上实现的东西还是不难的,最后一个mine的部分spec描述的不清楚,交流群的老哥也没去实现
- 3.HW3实现的是一个BST,可能是笔者学DS过的时间比较久,写的比较磕磕绊绊,当然也可能是因为C++的memory allocation比较麻烦,笔者之前用Java实现的时候比较顺畅。虽然如此,但HW3是笔者收获最多的一个HW,个人认为最值得一做
- 4.HW4实现的是uniquePtr和sharedPtr,接触的是template class,比较简单,UniquePtr和SharedPtr有非常多相似之处
- 5.HW5接触的是继承和多态,应该是6个HW里最简单的,几个小时就可以做完
- 6.HW6是用STL来解决四个问题,第一个问题接触到的functor很不错
Looking Ahead
streams abstraction
stringstream
state bits
i/o streams and buffering
[CS 106B Friday]file streams and the Stanford library
types:type inference,structures,initialization
error-checking and implementing simpio.h
manipulators overloading stream
sequence containers
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤