static和const的比较

static(静态):分为静态成员变量和静态成员函数,作用域为整个类,所有成员函数可以共享。

静态成员变量:static int data;定义在类的私有(private)成员里面,但是静态成员的初始化要在类外面,即
int 类名 ::data = 6;
静态成员函数:static void main(){  }可以访问静态成员变量但是不能访问普通私有成员变量,因为它里面没有this指针
普通函数例如void print()可以调用静态函数,但是静态函数不能调动普通函数,也是由于this指针的缘故。

此处我们可以拿static和const进行比较
例如void fun()和void fun()const,他们之间构成了重载,后者能调动前者但是前者不能调动后者,因为前者的*this可以改变但是后者this和*this都不能改变。

注:假设上述函数都属于A类,则
void fun()等价于void fun(A * const this)
void fun()const等价于void fun(const A * const this)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值