sizeof基础知识
来源:互联网 发布:b超双顶径数据分男女 编辑:程序博客网 时间:2024/06/06 05:55
一、c++中的sizeof
1、一个空的class大小是1
2、添加构造函数和析构函数之后,大小还是1
3、添加虚析构函数
#include <iostream>using namespace std;class TestSizeof{public: void testfun(int a); TestSizeof(){} virtual ~TestSizeof(){}};int main(){ //1、一个空的class大小是1,为什么不是0?因为我们声明该类的实例是,在内存中就占用一定的空间 //至于占用多少,是编译器说了算 cout<<"sizeof(TestSizeof) = "<<sizeof(TestSizeof)<<endl; TestSizeof testsizeof; cout<<"sizeof(testsizeof) = "<<sizeof(TestSizeof)<<endl; //2、添加构造函数和析构函数之后,大小还是1, /** 调用构造函数和析构函数只需要知道函数的地址即可,而这些地址只与类型相关,而与类型 的实例无关,编译器也不会因为这两个函数而在实例内添加任何额外的信息。 注:不管添加的是构造函数还是析构函数还是其它任何类型的函数,都是这个结果 */ cout<<"sizeof(testsizeof) = "<<sizeof(TestSizeof)<<endl; //3、添加虚析构函数呢? /** C++的编译器一旦发现一个类型中有虚函数,就会为该类型生成虚函数表, 并在该类型的每一个实例中添加一个指向虚函数表的指针, 在32位机器上,一个指针占4字节空间,因此求sizeof得到4;如果是64位则为8。 */ cout<<"virtual sizeof(testsizeof) = "<<sizeof(TestSizeof)<<endl; return 0;}
二、sizeof struct
C语言中sizeof一个空的struct大小是0
C++中sizeof一个空的struct大小是1
0 0
- sizeof基础知识
- C++基础知识sizeof用法 .
- 基础知识sizeof用法
- C++学习笔记(一)--基础知识sizeof用法
- C++学习笔记---------基础知识sizeof用法
- C++学习笔记(一)--基础知识sizeof用法
- c/c++数组与sizeof的基础知识
- C++学习笔记(一)--基础知识sizeof用法 .
- c/c++数组与sizeof的基础知识
- C++基础知识 sizeof运算符应用的总结
- SIZEOF
- Sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof
- sizeof............
- 复习c++
- hough变换 矩形检测
- qlikview怎样创建即席明细查询表
- 数据模型代替字典
- Java如何实现点击按钮弹出保存文件的选项
- sizeof基础知识
- Algs4 union-find算法 带路径压缩的加权Quick-Union实现
- 【整理】unity3d优化总结篇
- InsertSort
- 海马汽车经销商管理系统技术解析(六)顾客生日祝贺
- Window下安装Redis
- unity3d优化总结篇
- 自定义View的封装(代码方式)
- 设置UILabel背景和文字的透明度(代码和SB两种实现)