当前位置:首页 » 《关于电脑》 » 正文

【C++篇】~类和对象(上)

12 人参与  2024年09月16日 18:41  分类 : 《关于电脑》  评论

点击全文阅读


【C++篇】 类和对象上

一·类二·实例化内存对齐原因(用空间换时间,提高效率)

一·类

‘类’class可以理解为C语言阶段的‘结构体’,它的用法与struct大差不差很多地方都相同,但是C++毕竟是C++,类的用法肯定比结构体的用法要简洁一点?请添加图片描述
在这里插入图片描述
类和结构体的区别:
1.类可以在类里定义函数,结构体不能!
2.类名可以作类型名
3.class定义成员没有被访问限定符修饰时默认为private,struct默认为public。

• class为定义类的关键字,test为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者成员函数。

• 为了区分成员变量,一般习惯上成员变量会加一个特殊标识,如成员变量前面或者后面加_ 或者 m开头,如上图,注意C++中这个并不是强制的,只是一些惯例,具体看公司的要求。​

• C++中struct也可以定义类,C++兼容C中struct的用法,同时struct升级成了类,明显的变化是struct中可以定义函数,一般情况下我们还是推荐用class定义类


• 定义在类面的成员函数默认为inline。
这里没有出现call说明被展开了,是内联函数
在这里插入图片描述

• class定义成员没有被访问限定符修饰时默认为private,struct默认为public。​
• 一般成员变量都会被限制为private/protected,需要给别人使用的成员函数会放为public。

在这里插入图片描述
在类里,一般把成员函数定义为公有,把成员变量定义为私有,防止在类域外对类里的变量随意定义,一般类里如果没定义那就默认是私有的,结构体里默认的是公有的

二·实例化

内存对齐规则
• 第一个成员在与结构体偏移量为0的地址处。​
• 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。
• 注意:对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。​
• VS中默认的对齐数为8​
• 结构体总大小为:最大对齐数(所有变量类型最大者与默认对齐参数取最小)的整数倍。
• 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小
就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。

在这里插入图片描述

这里的test3里虽然没有成员,但是它的大小是‘1’,这是为了占位

内存对齐原因(用空间换时间,提高效率)

这里还要说一下,为什么要内存对齐,因为在读数据时都是从要读的数据大小的整数倍位置开始读,如果没对齐那么读完所有数据肯定要读好几遍,效率较低,而内存对齐很好地解决了这个问题


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/160778.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 萌宝甜妻:秦夫人是戏精小说全篇完整在线阅读(陶莺尔秦延之)热门章节列表
  • 送子观音节选列表_送子观音节选(程浩天殷茵程沐白)
  • 黄花落尽春光来结局+番外笔趣阁(宋晴沈子岳薛灵灵)_黄花落尽春光来结局+番外笔趣阁
  • 屠城时夫君带了外室逃生,后来他跪求我原谅推文_陆玄川秦绾绾***免费品鉴_小说后续在线阅读_无删减免费完结_
  • 完结文重生后我让校花保管所有准考证+完结篇列表_完结文重生后我让校花保管所有准考证+完结篇(秦雨然江述怀洛瑶)
  • 江映月小说小说全集+延伸+完本(前妻有喜,陆总请排队恭喜)畅享在线阅读
  • 风过南山,爱与愿违在线(唐婉心陆谨言)全书免费_(唐婉心陆谨言)风过南山,爱与愿违在线后续(唐婉心陆谨言)
  • 天阉老公出轨魅魔秘书,我找薄肌大佬生孩子他却后悔了免费(沈知薇贺宴礼)_天阉老公出轨魅魔秘书,我找薄肌大佬生孩子他却后悔了免费(沈知薇贺宴礼)
  • 秦雨然的重生后我让校花保管所有准考证彩蛋秦雨然江述怀洛瑶全书在线
  • 完结文送子观音高分完本列表_完结文送子观音高分完本(殷茵程沐白)
  • 此后春风皆过客(池婉白叙安)整本+后续+(此后春风皆过客)结局在线阅读
  • 春知晓梦不觉完结爽文(阮清歌薄时谦)_春知晓梦不觉完结爽文(阮清歌薄时谦)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1