C++成员函数存储方式
在C++中,用类去定义对象时,系统会为每一个对象分配存储空间,如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。
C++的每个对象所占用的存储空间只是该对象的数据部分所占用的存储空间,而不包括函数代码所占用的存储空间。
一个对象所占的空间大小只取决于该对象中数据成员所占的空间,而与成员函数无关,函数代码是存储在对象空间之外的。
虽然调用不同对象的成员函数时都是执行同一段函数代码,但是执行结果一般是不相同的,不同的对象使用的是同一个函数代码段,C++ 为此专门设立了一个名为this的指针,用来指向不同的对象。
不论成员函数在类内定义还是在类外定义,成员函数的代码段都用同一种方式存储。 不要将成员函数的这种存储方式和inline函数的概念混淆 常说的某某对象的成员函数,是从逻辑的角度而言的,而成员函数的存储方式,是从物理的角度而言的,二者是不矛盾的。
以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~