c++--对象模型和this指针

成员变量和成员函数分开存储

类内的成员变量和成员函数分开存储

只有非静态成员变量才属于类的对象上,静态成员变量以及函数都不属于对象

 

空对象占用内存空间为1

c++编译器会给每隔空对象也分配一个字节空间,是为了区分空对象占内存的位置

每个空对象也应该有一个独一无二的内存地址

 

this指针的概念

每个非静态成员函数只会诞生一份函数实例,多个同类型的对象会共用一块代码,this指针指向被调用的成员函数所属的对象

this指针是隐含每一个非静态成员函数内的一种指针

this指针不需要定义,直接使用即可

this指针的用途

当形参和成员变量同名时,可以用this指针来区分

在类的非静态成员函数中返回对象本身,可使用return *this

 

const 修饰成员函数

常函数

成员函数后加const后称这个函数为常函数

常函数内不可以修改成员属性

成员属性声明加关键字mutable后,在常函数中依然可以修改

常对象

声明对象前加const称该对象为常对象

常对象只能调用常函数

 

posted on 2020-08-23 11:04  0黑曼巴00  阅读(181)  评论(0)    收藏  举报