【C++基础】--- 类概念梳理

  1. 什么是类
  2. 类的大小


类是面向对象语言最重要的概念之一,本质上是对某种类型的对象定义变量和方法的原型。
它表示现实生活中一类具有共同特征事物的抽象,类是面向对象编程的基础。


类的大小


类的大小是由除静态变量外的成员变量决定的,与其内部普通函数的大小无关

普通变量在计算大小时需要注意内存对齐i,类似于struct
由static修饰的静态变量,编译器将其放入全局数据区,不占用内存
子类的大小是本身成员变量的大小加上父类的大小

在计算大小时只计算成员变量与虚函数的大小(无论有多少个虚函数,在32位系统下只加上一个指向虚函数的指针的大小4字节)

C++类中的虚函数有一个指向虚函数表入口的指针(vptr),所以虚函数需要占用一个指针大小的空间,与虚函数的个数没有关系。
普通的函数没有这个指针,所以不占用位置

一个空类的大小为1,C++要求每个实例在内存中都有独一无二的地址,空类也会被实例化,所以编译器会给空类隐含的添加一个字节,保障空类也拥有一个第一无二的地址

猜你喜欢

转载自blog.csdn.net/Mr_HHHHH/article/details/82113851