1.定义一个空的类,里面没有任何成员函数和成员变量,对该类型求sizeof,得到的结果是?
答:1
因为:空类型的实例不包含任何信息,本来求sizeof 的值为0,但当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例,至于分配多少内存由编译器决定
2.如果该类型加入一个构造函数和析构函数,对该类型求sizeof,得到的结果是?
答:1
调用构造函数和析构函数只需要函数的地址即可,这些地址只与类型有关,与实例无关
3.如果把析构函数记为虚函数呢?
答:C++编译器一旦发现虚函数,就会为该类型生成虚函数表,并在该类型的每一个实例中添加一个指向虚函数表的指针,在32位机上,指针占4字节
sizeof 虚函数
最新推荐文章于 2021-12-23 23:33:56 发布