为什么静态成员函数不能申请为const?

将成员声明为const就是承若不会修改该函数所属对象,但是static成员不属于对象,所以不能将static函数声明为const。

Const用于后置修饰成员函数时,意味着被修饰的成员函数的隐士参数(this指针)由原来的Class *const转换为const Class *const类型,使得该成员函数不能修改成员属性,除非该属性被mutable修饰。

Static类函数没有this指针,其本质上属于c函数,满足_cdel调用协定,而成员函数被称为_thiscall,带有隐士的this指针参数。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章