包含虚拟关键字和虚拟字符的类的大小
Size of class with virtual keyword and character in it
我运行了以下代码:
#include <iostream>
using namespace std;
class Base
{
char c;
public:
virtual ~Base()
{
}
};
int main()
{
cout << sizeof(Base) << endl;
return 0;
}
1)大小是4(对于vptr) + 1(对于char)。但结果是8。为什么呢?
2)我用int变量替换char,输出仍然是8。谁能给我解释一下是什么引起了这个问题?
就看填充物了。编译器已经将你的类打包成4个字节的倍数。
相关文章:
- C++字符*缓冲区的大小
- HEX值到wchar_t字符(UTF-8)的转换
- 为什么 Serial.println(<char[]>);返回随机字符?
- 我的字符计数代码计算错误.为什么
- 字符串-C++后显示的随机字符
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 如何在C++中从字符串中分割字符
- 虚拟决赛作为安全
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 指向指向字符数组的指针数组的指针
- 如何用转义符替换字符串中的所有特殊字符
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- PowerPC ppc64le上的Gcc Woverloaded虚拟错误
- 比较字符数组
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 来自无符号字符缓冲区的虚拟输出
- 生成组合的虚拟按键以获得 â、ó、ć 等字符
- 特殊字符的虚拟键代码
- 包含虚拟关键字和虚拟字符的类的大小