0%

前言

最近开始学习 MIT 的 6.S081,由于讲课视频、课件以及作业都比较完善,所以学习体验也比较好。课程链接为:6.S081。由于之前已经上过一次操作系统了,所以这次学习主要是希望能通过完成作业来加深对 Linux 操作系统的理解。目前准备整理一下做作业时候遇到的一些问题和难点,主要是记录一下做作业的思路,不会涉及具体实现代码。如果后面遇到没学过的内容可能会整理听课的笔记。

阅读全文 »

简介

正如其他 OOP 语言一样,当 C++ 程序员定义了一个新的 class 之后,也相当于定义了一个 type,因此程序员的大部分时间其实是在扩展类型系统。程序员在设计 class 时要像语言设计者设计内置类型一样进行设计,需要考虑重载函数、操作符、内存管理、对象的初始化以及销毁等等。

阅读全文 »

简介

  • 在设计接口时应该尽可能使得接口不容易被误用
  • 提高正确使用接口的方法包括:接口一致性,与内置类型行为兼容
  • 防止误用的方法包括:建立新类型,限制类型操作,限制对象可选值,消除使用者的资源管理责任
阅读全文 »

简介

  • API 往往要求会要求访问原始资源 (raw resources),所以没一个 RAII 类都需要提供一个可以让使用者访问原始资源的方法
  • 对原始资源的访问可以通过显式或隐式转换获得。通常来说,显示转换比较安全,而隐式转换对使用者而言比较方便。
阅读全文 »