设为首页 - 加入收藏
广告 1000x90
您的当前位置:144177黄大仙有求必应 > 静态函数 > 正文

关于C++静态成员函数和非静态成员函数的区别

来源:未知 编辑:admin 时间:2019-08-04

  它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针this。

  函数nsfn()可被认为它声明为void Sc::nsfn(Sc* this , int a)。对nsfn()的调用,编译像注解的那样进行转换,s的地址作为第一个传递的参数。(你并不实际写该调用,由编译来实现。)

  在函数内部,Sc::nsfn()对非静态成员的访问将自动把this参数作为指向当前对象的指针。而当Sc::sfn()被调用时,没有任何对象的地址被传递。因此,当访问非静态成员时,无this指针出错。这就是为什么一个静态成员函数与任何当前对象都无联系的原因。

本文链接:http://that-a-way.com/jingtaihanshu/514.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top