本人经过多次整理,将很多翻译的文档综合成目前我认为 是比较全的文档贡献给大家,同时我提醒各位在课本上也附录了许多翻译,不要忘记查看呀
of RAM, cache memory holds only those instructions and data that are likely to be needed next by the processor. Two types of cache memory appear widely in computers. The first is referred to as internal cache and is built into the CPU chip. The second, external cache, is located on chips placed close to the CPU chip. A computer can have several different levels of cache memory. Level 1 cache is virtually always built into the chip. Level 2 cache used to be external cache but is now typically also built into the CPU like level 1 cache.
和RAM一样,高速缓存也是程序指令和数据的高速存储区。然而,高速缓存使用静态RAM技术,这种技术比RAM在速度上要高出10倍,价格上高出100倍。cache只保存内存中那一小部分最有可能被处理器执行的指令和数据。两种类型的cache广泛应用于计算机,第一种被植入cpu中的叫做内部高速存储,第二种是外部高速存储,它位于那些靠近cpu的芯片中。一台计算机可以拥有几个不同级别的高速缓存。一级缓存实际上总是植入芯片中,二级缓存过去常常作为外部高速缓存,但是现在也像一级缓存植入cpu内部。
3.2 C++和面向对象的程序设计
一些面向对象的程序设计概念在语言间渗透。例如微软Quick Pascal是允许使用对象的第一批语言中的一个。C++有什么使得它是一种适合于开发面向对象程序的语言?如同先前所提到的,答案是类(class)数据类型。给该语言建立对象之能力的是建立在C结构类型之上的C++类(class)类型。还有,C++把另外几个特性引入面向对象的程序设计,这些特性并不包含在简单地利用对象的其他一些语言中。C++的优点包括强类型、运算符重载和较少地强调预处理。的确你能使用其他一些产品和采用其他一些语言来进行面向对象的程序设计,但是采用C++的众多好处是显著的。这是为面向对象的程序设计而设计的语言,并非(现有语言的)式样翻新。
面向对象的程序设计是一种程序设计技术,使得你能把一些概念看作各种各样的对象。通过使用对象,你能表示要被执行的任务、它们之间的相互作用和必须观察的某些给定的条件。一种数据结构经常形成某个对象的基础;因此,在C或C++中,结构类型能形成某种基本对象。与对象的通信,如前提到的,能通过使用消息来完成。消息的使用类似于在面向过程的程序中对函数的调用。当某对象收到一个消息时,包含在该对象内的一些方法作出响应。方法类似于面向过程程序设计的函数。然而,方法是对象的一部分。
C++的类是对C和C++结构类型的扩充,并且形成了面向对象程序设计所需要的抽象数据类型。类能包含紧密相关的一些条目,它们共享一些属性。更正式地说,对象只不过是类的实例。
最终,应该出现包含很多对象类型的类库,你能使用这些对象类型的实例去拼合程序代码。
在你更详细地考察这些术语之前,一个好的主意是熟悉与C++和面向对象程序设计相关的另外几个概念,如同下面几节所述的。
封装
封装指的是每个对象把它的成员数据和成员函数(方法)组合成单个结构的方式。图3-1举例说明了你如何能组合数据域和方法以建立对象。
数据域方法