August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
当我们可以简单地使用vector时,为什么要困扰于指针和自由空间这样杂乱的、低层次的东西呢?一个答案是有些人设计和实现了vector以及类似的抽象,而我们希望知道它是如何工作的。有些编程语言并不提供相当于指针的功能,因此就将这个问题留给低层的编程。基本上,这些语言的编程者将对硬件的直接访问任务交给C++编程者(或其他适于低层编程的语言的编程者)。但我们最喜欢的理由其实更简单——你只有看到了软件是如何适应硬件的,才能真正宣称自己了解计算机和编程。那些不知道指针、内存地址等的人,对于编程语言特性是如何工作的经常会有很奇怪的想法;这种错误的想法会催生“有趣的糟糕”代码。