跳转至

C++ Review

事实上大一上就开始正式接触C++了,但是由于当时是纯纯的计算机five,导致对C++的理解并不深刻。

在这两年逐渐成为老鸟的过程中,我接触到了更多的C++特性与用法,所以借此机会,整理一下C++的高阶知识点。

其实C++的用途非常多,比如现在全世界最大的网络拓扑模拟器ns-3就是基于C++写的,因此掌握C++是做好网络系统研究的第一步,个人认为。

Why do this

伯克利的访问之旅即将结束,距离回国还有几天空窗期,准备规划下未来学习的课程内容,对 CMU-15445 Database System 颇有兴趣,准备花时间系统学习一下,并计划把实验都写了。

在写proj0的时候,cmu提供了很多帮助我们熟悉C++的材料,简单看了下还是有些遗漏或掌握不牢靠的知识点。虽然现在AI Agent普及,很多在做研究遇到不会的东西可以现查现用,但是系统的学习有助于打下良好的基础,肯定还是有帮助的,只是需要时间的验证。

因此我准备借此机会系统复习一下C++的语言特性,尤其是C++ 17引入的新特性,并且把学习过程中的笔记记录下来,方便以后复习,因此这是一份高客制化、不太适用于C++零基础的学习指南。

Outline

Materials: Learn C++

对我而言,需要再整理复盘的知识点与新特性:

  • Debugging C++ Programs, Chapter 3
  • Error Detection and Handling, Chapter 9
  • Constexpr functions, Chapter F
  • Exceptions, Chapter 27
  • Input and Output (I/O), Chapter 28