C++ sizeof 操作符的用法总结
来源:互联网 发布:漏洞软件 编辑:程序博客网 时间:2024/04/29 12:08
在VC中,sizeof有着许多的用法,而且很容易引起一些错误。下面根据sizeof后面的参数对sizeof的用法做个总结。
A.参数为数据类型或者为一般变量:
例如sizeof(int),sizeof(long)等等。
这种情况要注意的是不同系统系统或者不同编译器得到的结果可能是不同的。
例如int类型在16位系统中占2个字节,在32位系统中占4个字节。
B.参数为数组或指针:
int a[50]; //sizeof(a)=4*50=200;求数组所占的空间大小
int *a=new int[50];// sizeof(a)=4; a为一个指针,sizeof(a)是求指针的大小,在32位系统中,当然是占4个字节。
C.参数为结构或类:
Sizeof应用在类和结构的处理情况是相同的,需要考虑字节对齐(参加另一篇文章:C++自定义结构体和类 内存对齐)。另外有几点需要注意:
第一、结构或者类中的静态成员不对结构或者类的大小产生影响,因为静态变量的存储位置与结构或者类的实例地址无关。
第二、没有成员变量的结构或类(非虚)的大小为1,因为必须保证结构或类的每一个实例在内存中都有唯一的地址。
第三、包含虚函数的类或者虚继承的类,需要算上虚表指针的占的4个字节。
下面举例说明:
Class Test{int a;static double c};//sizeof(Test)=4.
Test *s;//sizeof(s)=4,s为一个指针。
Class test1{ };//sizeof(test1)=1;
Class test2{ virtual void print(){}};//sizeof(test2)=4;
参考 http://blog.csdn.net/garfield2005/article/details/7648430
- C++ sizeof 操作符的用法总结
- C++ sizeof 操作符的用法总结
- C/C++中sizeof操作符的用法
- sizeof操作符用法终极总结
- C/C++ 之 sizeof 操作符总结
- sizeof() 的用法总结
- 转载--sizeof的用法总结
- 关于sizeof的用法总结。
- 全面总结sizeof的用法
- C 中 sizeof的用法
- C语言 sizeof的用法
- C中sizeof的用法
- C语言中sizeof用法总结
- C语言中sizeof用法总结
- C/C++ sizeof 操作符
- C/C++ sizeof操作符
- 浅析C++中sizeof操作符的用法
- 关于sizeof操作符的理解和总结
- maven study 2
- gearmand及对应php扩展的安装
- 创建Unicode版本的VC工程
- javascript实现模仿迅雷电影评分
- 基于Eclipse的交叉编译环境的建立
- C++ sizeof 操作符的用法总结
- 如何使用WinRT界面控件Essential Studio填充项目
- 重新建立windows图标缓存
- Android 启动过程代码跟踪
- c#关于委托和事件
- Linux Shell编程入门
- 不重新编译PHP文件的情况下php GD库扩展库的编译安装(centos)
- xsd的解释说明
- XML学习总结