qq_42114077 2018-10-18 15:58 采纳率: 0%
浏览 333

关于sizeof有些不理解,求助

剑指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;
};

  • 写回答

3条回答 默认 最新

  • threenewbee 2018-10-18 16:04
    关注

    文章的意思是,添加构造函数、析构函数不会改变sizeof对于一个类的大小。至于是不是1,那么要看原来这个类型大小是多少,还有用的什么编译器。
    就你的程序而言,在我这里输出4
    去掉
    public:
    a() {};
    ~a() {};
    也是4

    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)