C++ 通过null指针调用成员函数 正常

来源:互联网 发布:如何设置监控网络连接 编辑:程序博客网 时间:2024/05/21 00:55


class A{public:    void foo(){cout << "foo" << endl;}};int main(){    static_cast<A*>(0)->foo();}

这个是可以打印出来的。虽然foo函数是成员函数,其需要一个this指针,但是由于他没有使用任何成员数据,所以不会对指针进行解引用操作。所以这里仅仅是将0强制转换为A类型的指针,也就是会把0赋值给this形参,但是之后的操作中并没有对这个参数做别的操作。所以可以编译通过并打印正常。

0 0
原创粉丝点击