Inside The C++ Object Model 笔记

第一章 Object Lessons

类型转化其实是一种编译器指令,大部分情况下它并不改变一个指针所含的真正地址,它只影响"被指定的内存的大小和其内容"的解释方式。

一个pointer或是一个reference之所以支持多态,是因为它们并不引发内促中任何“与类型相关的内存委托操作(type-dependent commitment)”;会受到改变的只是它们所指向的内存的"大小和内容解释方式"而已

C++通过class的pointer和reference来支持多态,这种程序设计风格就称为"面向对象"

C++也支持具体的ADT程序风格,如今被称为object-based(OB).例如 String Class,一种非多态的数据类型。String class可以展示封装的非多态形式,它提供了一个public接口&一个private实作品,包括数据&算法,但是不支持类型的扩充。一个OB设计可能比一个对等的OO设计速度更快而且空间更紧凑。速度快是因为所有的函数引发的操作都是在编译时期解析完成,对象构建起来时不需要设置virtual机制;空间紧凑则是因为每一个class object不需要负担传统上为了支持virtual机制而需要的额外负担。不过,OB设计比较没有弹性。

你可能感兴趣的:(C++,c,算法,C#,OO)