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

c++静态成员函数里为何不能直接使用this指针?

来源:未知 编辑:admin 时间:2019-07-14

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  静态成员函数并不是针对某个类的实例对象,而是属于整个类的,为所有的对象实例所共有。他在作用域的范围内是全局的,独立于类的对象之外的。他只对类内部的静态成员变量做操作。当实例化一个类的对象时候,里面不存在静态成员的。this指针是相当于一个类的实例的指针,this是用来操作对象实例的内容的,既然静态成员函数和变量都是独立于类的实例对象之外的,他就不能用this指针。也不能操作非静态成员。再有你要想想设计静态成员的用意在哪里,就会更加明了了

  static函数属于类不属于对象(对象里不分配内存),this是对象的指针(指向的是对象分配的内存,所以this访问不到static函数)。

  你这里没有设置成静态函数啊,在F前面加个STATIC,你看看还能运行不。

  使用静态成员函数的目的就是使这个函数成为“类”级别的,而不是“对象级别”的,实际上相当于必须通过这个类使用的全局函数,是不属于任何对象的,如果你感觉一个静态成员函数需要处理对象,那么很可能是应该把它定义为成员函数。静态成员函数不能调用普通成员函数和使用普通成员变量。但是不对啊,我书上有个例子,明明就是静态回调成员函数里,使用this指针啊

  this指针其实是对象指针,既然静态不是对象本身的东西,那么this指针自然也不可以用。追问就是说,静态成员函数里,不能对非静态成员变量进行操作?追答不能对非静态成员操作

本文链接:http://that-a-way.com/jingtaihanshu/408.html
上一篇:函数相关汇总_程序
下一篇:没有了

相关推荐:

网友评论:

栏目分类

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

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

Top