首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个种的成员函数,到底在内存中,有多少份?如果这个类,实例化了很多对象

2012-09-20 
一个类的成员函数,到底在内存中,有多少份?如果这个类,实例化了很多对象。网上很多人都说只有一份。如果只有

一个类的成员函数,到底在内存中,有多少份?如果这个类,实例化了很多对象。
网上很多人都说只有一份。

如果只有一份,例如下面例子,我有一个地方不明白:

在内存中,a+=10,这行代码中的a,是怎么与“某个具体的A对象”关联的?


C/C++ code
Class A{   ……   int a;   void aPlusPlus()   {      a+=10;   }        ……}


[解决办法]
实际上多了一个参数
aPlusPlus(A* pthis );
[解决办法]
楼上正解,成员函数调用约定为_thiscall,this指针虽然不会同其他参数一样push进堆栈,但会存储在寄存器(比如微软的编译器一般使用ECX)
[解决办法]
对象地址被隐式地传到了函数里。

热点排行