摘要:
C++的多态性是通过动态绑定实现的 非虚函数是在 编译时绑定 的; 通过对象进行的函数(虚函数,非虚函数)也是 编译时绑定 的; C++编译器在编译的时候,要确定每个对象调用的函数(要求此函数是非虚函数)的地址,这称为早期绑定(early binding) 当且仅当通过指针或引用调用虚... 阅读全文
摘要:
最近在看C++动态绑定问题时(理解静态绑定时)发现的问题:能用空指针调用类的成员函数(gcc,vs2013下都可以)。
例子: C++类的内存布局 类的成员函数与成员对象内存中不放一起。 对于类成员函数而言,此类的所有对象共用这个成员函数体,并不是一个对象对应一个单独的成员函数体。 在... 阅读全文