C++编程笔记:C++用new与不用new创建对象的区别

一、Alignment问题

重新发现这个问题是因为在体系结构课上提到的一个概念,alignment对齐的概念。

像上面这个C++的类,它有两个变量。

或者直接算它的大小

然后按照道理,myclass的大小,应该是5 byte才对,可是最后输出的结果是8,显然这就说明系统在创建对象的时候,将对象的变量进行了对齐操作,不足4 byte的按照4 byte补足。

2.1 虚函数引起的空间占用:虚函数管理

此外,普通成员函数不会占用对象空间的大小,也不会影响sizeof的结果。

而如果是虚函数就会占用空间了。

结果是占用12 byte的大小。

这种的差别是由于c++的类所有的虚函数都是由一个虚函数指针

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值