当前位置: 首页 > news >正文

天梯网站建设社交博客网站开发

天梯网站建设,社交博客网站开发,网站栏目内容,专业集团网站建设内存分区 内存全局数据区#xff0c;代码区#xff0c;栈区#xff0c;堆区。 定义一个类 类的成员函数被放在代码区 类的静态成员变量被放在全局数据区#xff08;不占用类的存储空间#xff09; 非静态成员在类的实例内#xff0c;实例在栈区或者堆区 虚函数指针代码区栈区堆区。 定义一个类 类的成员函数被放在代码区 类的静态成员变量被放在全局数据区不占用类的存储空间 非静态成员在类的实例内实例在栈区或者堆区 虚函数指针虚基类指针在类的实例内实例在堆区或者栈区 内存布局实例 普通类不携带静态成员也没有继承关系 class A1 { public:void func1() {}; public:int a1;char a2;char a3; };class A2 { public:void func2() {}; public:char a1;int a2;char a3; };class A1 size(8): ±– 0 | a1 4 | a2 5 | a3 | (size2) ±– class A2 size(12): ±– 0 | a1 | (size3) 4 | a2 8 | a3 | (size3) ±– A1类携带3个成员变量及1个成员函数成员函数不占用内存在x86平台下整型变量a1占用4个字节字符型变量a2占用一个字节a3占用一个字节, 总共占用内存为 8 字节。因为内存是4字节对齐的2个字符变量占用2字节被补齐为4字节。 A2类携带和A1类相同的变量只不过调整了下顺序第1个为字符变量占用1个字节补齐为4字节第2个为整型变量占用4字节第3个为字符变量占用1字节补齐为4字节 类携带静态成员变量 class B { public:void func1(); public:static int b1;int b2; };该类的类名为B。用简图表示该类内存布局 class B size(4): ±– 0 | b2 ​ ±– B类携带静态整型成员变量b1和整型变量b2静态整型变量b1不占用类的内存整型变量占用4字节的内存因而B类占用内存为4字节。 类携带虚函数并继承 class C1 { public:void func1();virtual void func2(); public:int a1; };class C2 : public C1 { public:void func2() override; };class C3 { public:virtual void func1();virtual void func2(); public:int a1; };class C1 size(8): ±– 0 | {vfptr} 4 | a1 ±– C1::$vftable: | C1_meta | 0 0 | C1::func2 C1::func2 this adjustor: 0 class C2 size(8): ±– 0 | ±-- (base class C1) 0 | | {vfptr} 4 | | a1 | ±– ±– C2::$vftable: | C2_meta | 0 0 | C2::func2 C2::func2 this adjustor: 0 class C3 size(8): ±– 0 | {vfptr} 4 | a1 ±– C3::$vftable: | C3_meta | 0 0 | C3::func1 1 | C3::func2 C3::func1 this adjustor: 0 C3::func2 this adjustor: 0 类C1携带整型成员变量a1占用4字节内存普通成员函数func1虚成员函数func2一旦一个类对象携带虚函数则该类有一个虚函数指针在x86平台下该指针的大小为4字节故而类C1的大小为8字节。虚函数指针指向一个虚函数表是一个数组类C1中有多少个虚函数虚函数表中就有多少个虚函数数组中就有多少个虚函数按照定义虚函数的顺序进行排列 类C2继承类C1虚函数func2继承于类C1C2的虚函数表的第1个元素即为C2:func2 类C3携带2个虚函数虚函数表中有2个元素第1个元素为C3:func1 第2个元素为C3:func2 类携带虚函数并多继承 class D1 { public:virtual void func1(); };class D2 { public:virtual void func2(); };class D3 : public D1, D2 { };class D1 size(4): ±– 0 | {vfptr} ±– D1::$vftable: | D1_meta | 0 0 | D1::func1 D1::func1 this adjustor: 0 class D2 size(4): ±– 0 | {vfptr} ±– D2::$vftable: | D2_meta | 0 0 | D2::func2 D2::func2 this adjustor: 0 class D3 size(8): ±– 0 | ±-- (base class D1) 0 | | {vfptr} | ±– 4 | ±-- (base class D2) 4 | | {vfptr} | ±– ±– D3::KaTeX parse error: Expected EOF, got at position 17: …ftableD1: | ̲D3_meta | 0 0…vftableD2: | -4 0 | D2::func2 类D3继承D1和D2D3中含有2个虚函数指针占用大小为8字节虚函数指针1指向D1的虚函数表虚函数D2指向D2的虚函数表。这部分可能理解有误如有错误希望帮忙指出
http://www.w-s-a.com/news/197001/

相关文章:

  • 响应式网站代码校友会网站建设的目的
  • 北京公司网站网站建设html模板
  • 专门做医疗器械的网站免费网页制作系统团队
  • 网站开发技术 html临夏网站建设
  • flash网站模板免费下载拍卖网站开发多少钱
  • 北京网站建设制作颍州网站建设
  • 网站制作报价表做网站上海公司
  • 简洁大气蓝色文章资讯网站百度搜索广告推广
  • 河南建设工程协会网站网站收银系统建设
  • 网站制作 服务企业网站案例展示
  • 咸宁网站建设wordpress手动降级
  • 昆明做网站建设怎么样做网站赚钱全攻略
  • 企业网站建设实战教程微信如何注册小程序
  • 做一件代发网站百度seo服务
  • 小说网站开发 公司可以做行程的网站
  • 古交市网站建设公司apk连接wordpress
  • 网页 网 址网站区别wordpress菜单居右
  • 网站建设搭建运营一台云服务器做多个网站
  • 用php做网站用什么框架推广网站推荐
  • 如何用二级域名做网站多用户网上商城
  • 河南省建设科技网站浅谈电子商务网站建设与规划
  • 网站空间需要续费青海网站建设推广
  • 网站开发本地环境企业网站建设排名口碑
  • 做新闻的网站怎样赚钱个人网站课程设计报告
  • 网站设计样例那个网站做图片好看
  • 小型公司网站建设深圳网络营销策划有限公司
  • 国内优秀企业网站做视频网站用什么系统
  • 网站建设入门pdfwordpress网站标题
  • 专业网站的定义网站运营的概念
  • 外贸服装网站建设网页美工设计说明书