C++空类的sizeof
2016-04-18 11:14
204 查看
在金山WPS的面试中,有一道题目是这样的:
A是一个空类,求A的内存大小:
在64位的VS2013中,运行结果是:1。
原因是:即使是空类,在实例化后的内存中也是独一无二的,所以不能是0。根据编译器的不同,会给空类隐含添加一个字节,这样实例化后,这个类就是独一无二的了。
同理,struct也是如此。
A是一个空类,求A的内存大小:
class A{}; cout <<sizeof(A)<<endl;
在64位的VS2013中,运行结果是:1。
原因是:即使是空类,在实例化后的内存中也是独一无二的,所以不能是0。根据编译器的不同,会给空类隐含添加一个字节,这样实例化后,这个类就是独一无二的了。
同理,struct也是如此。
相关文章推荐
- C语言sscanf函数的总结
- 设计模式中的构建者Builder模式&c++
- C++11新特性之智能指针
- cl.exe命令方式编译cpp
- 文件中有一组整数,要求排序后输出到另一个文件中
- leetcode_104._Maximum Depth of Binary Tree(C++)(easy)
- c/c++创建动态链接库
- python中的赋值操作,与c++做对比
- C语言结构体的字节对齐
- c++中的string常用函数用法总结
- 【Visual C++】一些开发心得与调试技巧
- C++_友元函数
- 巩固C语言(九)----静态库文件的生成和使用、劫持技术
- 【C++】traits技术与模板元编程
- leetcode_324_Power of Four(C++)(easy)
- C语言的内存管理
- 从迷惘到看到方向的小白
- C/C++程序编译流程详解
- C语言定义全局变量
- C++中new的越界访问问题