我的问题与 C++ 类定义有关。我理解如果类中存在很多成员变量。类(class)人数会增加。但是,增加类成员函数的数量不会影响其大小。但是,我想知 Prop 有更多成员函数的类和具有更少成员函数的类之间的主要区别是什么。调用具有较少成员函数的类是否可能更快?
最佳答案
您需要每个实例的空间来存储成员变量,但成员函数不是实例的一部分,至少不是直接的。每个额外的虚拟成员函数通常需要一个额外的指针,但该指针指向 vtable。它在一个类的所有实例之间共享,因此不会增加每个成员的大小。
非虚拟成员函数仅在代码内存中占用空间:它们的空间要求与独立函数没有区别,唯一的区别是用于将指针传递给 this
的隐藏参数。
添加到类中的第一个虚函数添加了一个额外的指针,指向存储实例所需的空间;额外的非虚拟成员函数根本不符合空间要求。
关于c++ - 类成员函数号的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798494/