2016 - 2024

感恩一路有你

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

浏览量:2301 时间:2021-03-12 19:05:35 作者:admin

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

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

静态函数内如何调用静态成员函数指针数组?

通常不建议这样做哦。这样做通常意味着设计上有严重的缺陷。因为:静态成员函数是不需要类的对象就可以调用的。类的对象都不存在当然不能直接调用了。如果一定要调用,你可以用以下三种方式,创建一个类对象在进行调用1、用参数传递进一个内的对象;2、在静态成员函数中创建一个临时对象。3、创建一个该类的全局对象

this指针在const成员函数,static成员函数及一般成员函数中有何不同?

this指针是const指针,指向实例化对象


const成员函数不能修改成员变量


static成员函数不能使用this指针,static成员不属于对象,所以就没有this指针之说。一般static成员变量要通过static成员函数来修改其值。


一般函数可以使用this指针,可以修改成员变量

c 只有类的非静态成员函数才有this指针吗?

准确的说,是非静态成员都有this指针,包括方法和属性。当类中的成员具有独自的特征时,比如对象1的值1,对象2的值是2,就需要this指针来指明是哪个类。

成员函数拥有this指针 类成员函数指针 类的成员函数都有this指针吗

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。