剑指offer中有
如果在该类型中添加一个构造函数和析构函数,再求sizeof,得到的结果是多少?
答案:还是1。调用构造函数和析构函数只需要知道函数的地址即可,而这些地址只与类型相关,而与类型的实例无关,编译器也不会因为这两个函数而在实例内添加任何额外的信息。
注:不管添加的是构造函数还是析构函数还是其它任何类型的函数,都是这个结果。
调用构造函数和析构函数只需要知道函数的地址即可,而这些地址只与类型相关,而与类型的实例无关,这句话怎么理解?
举个例子,为什么这样定义的一个类sizeof ,大小是
class a
{
public:
a() {};
~a() {};
public:
int bb3() { };
int bb4()
{
int a = 0;
int b = 1;
int c = 10;
};
int abc;
};