C++中空类非空
来源:互联网 发布:java里调用window.open 编辑:程序博客网 时间:2024/05/01 05:38
在C++中,一个类如果是一个空类,也就是说没有任何成员变量和成员函数,就真的不占内存么,其实不是这样的。
示例如下:
#include<iostream>using namespace std;class Conan{};int main(){cout<<sizeof(Conan);return 0;}
程序运行结果如下:
<img src="http://img.blog.csdn.net/20140616001429828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjMzOTc0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
显然,这与我们以为的空类所占内存应该为空即0的预想冲突,<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ">为什么会出现这种结果呢?初学者肯定会很烦恼是吗?类Conan明明是空类,它的大小应该为0,为什么 编译器输出的结果为1呢?这就是我们刚才所说的实例化的原因(空类同样可以被实例化),每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器往往会给一个空类隐含的加一个字节,这样空类在实例化后在内存得到了独一无二的地址.所以空类Conan大小为1.</span>
0 0
- C++中空类非空
- C语言中空字符,空格
- C#NTFS格式磁盘中空文件夹删除
- C/C++中空数组使用问题
- Objective-C中空值的不同表现形式
- 关于C和C++中空参数表的函数的解释
- 关于C程序中空指针(null指针)的设计哲学
- c/c++中空指针,空指针常量,NULL
- 中空三角形
- C/C++中空指针与0与NULL和其他若干问题小结。(转帖)
- C/C++中空指针与0与NULL和其他若干问题小结
- C/C++中,空数组、空类、类中空数组的解析及其作用
- C/C++中,空数组、空类、类中空数组的解析及其作用。
- 【程序设计】C与C++中空结构体与空类的大小
- DB2中空值处理
- 实现中空窗口
- 中空的菱形
- 在雨中空等
- 程序内部打开某个APP在AppStore的购买页面
- 【Leetcode】Reverse Nodes in k-Group
- javascript 动态判断html元素
- DOS的系统基本命令---简记
- 请用美丽欢呼-------Day38
- C++中空类非空
- JUnit4 中@AfterClass @BeforeClass @after @before的区别对比
- 【Leetcode】Remove Duplicates from Sorted Array
- C#语言的一些简单知识
- 【Leetcode】Remove Element
- 【Leetcode】Implement strStr()
- 4.Swift教程翻译系列——Swift基本运算符
- 【Android源代码编译】编译android错误解决办法摘录
- 足球大数据:致足球怀疑论者-The Counter(s)-Reformation反教条改革