空指针也可以访问函数,只要不反问数据域即可

#include <iostream>
using namespace std;


class A
{
public:
    int a ;
    int b;
    void prt(void){std::cout <<"prt here" << std::endl;}
};


int main() {
    A* p = NULL;
    p->prt();
}

因为其为静态绑定,编译时就已经制定了函数的如可地址。

输出结果为:

> ./a.out
prt here

原文地址:https://www.cnblogs.com/diegodu/p/4235633.html