实例化一个类的对象后,她的成员函数装入内存吗?
一个类实例化一个对象后,会装入内存,并产生一个this指针,指向对象的首地址。那么这个对象的成员函数装入内存吗。如果不装入,一个只有成员函数没有变量的类,其对象岂不是不占...
一个类实例化一个对象后,会装入内存,并产生一个this指针,指向对象的首地址。那么这个对象的成员函数装入内存吗。
如果不装入,一个只有成员函数没有变量的类,其对象岂不是不占内存,不会有this指针了吗。比如class Animal {public: void eat(); void sleep();} Animal am; 在此例中am岂不是不占内存,没有this指针。
如果成员函数装入内存,应该如何装入?首先占多数字节无法解决,其次和以前建栈时变量装入内存,函数不占内存相矛盾。
两种说法似乎都矛盾,该如何解释,请高手指点一下。
函数偏移地址一定是4个字节吗?是不是有成员变量的话,第一个成员变量的地址即为this指针,没有成员变量,会用4个字节载入this指针? 展开
如果不装入,一个只有成员函数没有变量的类,其对象岂不是不占内存,不会有this指针了吗。比如class Animal {public: void eat(); void sleep();} Animal am; 在此例中am岂不是不占内存,没有this指针。
如果成员函数装入内存,应该如何装入?首先占多数字节无法解决,其次和以前建栈时变量装入内存,函数不占内存相矛盾。
两种说法似乎都矛盾,该如何解释,请高手指点一下。
函数偏移地址一定是4个字节吗?是不是有成员变量的话,第一个成员变量的地址即为this指针,没有成员变量,会用4个字节载入this指针? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询