C++ 基类指针可以指向派生类的对象 并且调用派生各自的虚函数,是因为派生类的内存分布中,基类部分是相同的,并且从最开始的位置。他们的vtable虚函数表地理偏移位置一样。
指针的类型被转换 他的内容 就是他指向的地址 是不发生变化,但是编译器在编译的时候对他的理解发生了变化,在编译这两种*int ++ *double ++ 操作时 指针运算的偏移量是根据指针的类型运算的,比如 *int++ 地址偏移了四个位置, *double ++ 偏移了八个位置。
指针记录的信息 不仅仅是地址,还是编译对他的理解,也就是 这个类型的内存分布的大小.