最近代码中看到调用空指针对象的成员函数的写法,联想起上次碰到的问题:
两者的本质是一样的,上次只是简单地讨论了下,这次从编译器的角度,来谈一谈这个知识点。
一个简单的例子:
class MyClass
{
public:
int i;
void hello()
{
printf("hello\n");
}
void print()
{
printf("%d\n", i);
}
};
void main()
{
MyClass* pmy = NULL;
pmy->hello();
}
“静态绑定”和“动态绑定”的区别
以下面的语句为例: