第一章:关于对象
记录一下第一章关于对象中的笔记。
1.指针类型
众所周知所有的指针都是存放着一个地址他们在同一个机器中占用的内存相同,而指针类型则是告诉编译器如何解释指针所指地址中的内存内容和大小。所以
①一个类型为void*的指针只能获得地址,而不能对其指向的内容进行操作。
②转换cast仅是一种编译器指令,它仅改变被指向内存的大小和内容的解释方式,不改变指向的地址。
③运行期多态的实现依赖于指针或引用并不引发内存的拷贝(assignment)而仅仅是改变解释内存的方式。相反普通对象的拷贝则是直接进行内存的操作。
2.编译器会确保某个对象含义一个或一个以上vptrs时,那些vptrs的内容不会被基类对象初始化或改变(解释内存的方式不会改变)