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

旅行网站建设网站是每年都要付费吗

旅行网站建设,网站是每年都要付费吗,做外贸怎么看外国网站,闽清网站建设提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、实例化概念二、对象大小 1.对象存储2.内存对齐规则总结 前言 提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供参考 一、实例化概念 • … 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、实例化概念二、对象大小 1.对象存储2.内存对齐规则总结 前言 提示以下是本篇文章正文内容下面案例可供参考 一、实例化概念 • ⽤类类型在物理内存中创建对象的过程称为类实例化出对象。 • 类是对象进⾏⼀种抽象描述是⼀个模型⼀样的东西限定了类有哪些成员变量这些成员变量只 是声明没有分配空间⽤类实例化出对象时才会分配空间。 • ⼀个类可以实例化出多个对象实例化出的对象 占⽤实际的物理空间存储类成员变量。打个⽐ ⽅类实例化出对象就像现实中使⽤建筑设计图建造出房⼦类就像是设计图设计图规划了有多 少个房间房间⼤⼩功能等但是并没有实体的建筑存在也不能住⼈⽤设计图修建出房⼦房 ⼦才能住⼈。同样类就像设计图⼀样不能存储数据实例化出的对象分配物理内存存储数据。 在面向对象编程OOP中实例化Instantiation是指创建一个类的实例的过程。这个实例也称为对象是类的具体化拥有类定义的属性和行为。实例化使得抽象的类概念成为具有具体数据和功能的实体。 实例化过程包括以下几个关键点 创建对象在内存中分配空间以存储对象的状态成员变量。 初始化设置对象的初始状态。这可能涉及到调用构造函数来初始化成员变量。 分配内存对象可能在栈上自动存储期或堆上动态存储期创建。栈上的对象在作用域结束时自动销毁而堆上的对象需要手动管理其生命周期。 实例化的例子 class MyClass { public:int value;MyClass(int val) : value(val) {} // 构造函数 };int main() {MyClass obj(10); // 在栈上实例化对象初始化value为10MyClass* ptr new MyClass(20); // 在堆上实例化对象初始化value为20// 使用obj和ptr// ...delete ptr; // 释放堆上分配的内存return 0; } 在这个例子中我们定义了一个简单的类 MyClass它有一个公有成员变量 value 和一个构造函数。在 main 函数中我们实例化了两个 MyClass 对象一个是栈上的对象 obj另一个是堆上的对象 ptr。 实例化的特点 栈上实例化对象的生命周期与创建它的函数或代码块相同。当函数结束或代码块执行完毕时对象会被自动销毁。 堆上实例化对象的生命周期由程序员控制需要使用 new 操作符来创建对象并使用 delete 来释放内存。这允许对象在创建它的函数之外存活。 默认构造函数如果没有显式定义构造函数编译器会提供一个默认构造函数它不执行任何初始化。 拷贝构造函数用于创建一个对象作为另一个同类型对象的副本。如果没有定义拷贝构造函数编译器会提供一个默认的拷贝构造函数。 构造函数重载可以为类定义多个构造函数它们可以有不同的参数列表这允许以不同的方式初始化对象。 实例化是面向对象编程中创建和使用对象的基本操作它使得类的概念得以在程序中具体实现和操作。 #includeiostream using namespace std; class Date { public: void Init(int year, int month, int day) { _year year; _month month; _day day; } void Print() { cout _year / _month / _day endl; } private: // 这⾥只是声明没有开空间 int _year; int _month; int _day; }; int main(){ // Date类实例化出对象d1和d2 Date d1; Date d2; d1.Init(2024, 3, 31); d1.Print(); d2.Init(2024, 7, 5); d2.Print(); return 0; }二、对象大小 1.对象存储 这段内容讨论了C中对象大小的概念特别是对象如何存储成员变量和成员函数以及内存对齐规则对对象大小的影响。以下是对这段内容的总结 对象存储方式设计 成员变量存储对象中存储的是成员变量这些变量是对象状态的具体表示。每个对象都有自己的成员变量副本用于存储各自的数据。 成员函数存储成员函数本身不存储在对象中。成员函数在编译后被转换为机器指令存储在代码段中。对象中存储的是成员函数的地址即函数指针这些指针指向代码段中的函数实现。 函数指针函数指针在编译时就已经确定不需要在每个对象中重复存储。只有在动态多态的情况下函数地址才需要在运行时确定这时才需要存储函数地址。 2.内存对齐规则 内存对齐规则 第一个成员变量在结构体或类中第一个成员变量的偏移量为0。 其他成员变量其他成员变量的地址需要对齐到某个数字对齐数的整数倍。这个对齐数是编译器默认的对齐数与成员变量大小的较小值。 编译器默认对齐数在Visual StudioVS中默认的对齐数为8字节。 结构体总大小结构体的总大小是所有成员变量最大对齐数的整数倍。如果结构体中嵌套了其他结构体那么嵌套的结构体也需要对齐到自己的最大对齐数。 #includeiostream using namespace std; // 计算⼀下A/B/C实例化的对象是多⼤ class A { public: void Print() { cout _ch endl; } private: char _ch; int _i; }; class B { public: void Print() { //... } }; class C {}; int main() { A a; B b; C c; cout sizeof(a) endl;cout sizeof(b) endl; cout sizeof(c) endl; return 0; }总结 对象实例化时只存储成员变量不存储成员函数的代码。成员函数的地址函数指针在对象中存储用于调用成员函数。内存对齐规则确保了成员变量的地址是其大小的整数倍这有助于提高内存访问的效率。结构体或类的大小由其成员变量的最大对齐数决定以确保内存布局的效率。 这段内容强调了在设计类和结构体时内存对齐是一个重要的考虑因素它影响着对象的存储和性能。通过理解这些概念开发者可以更好地控制对象的内存布局优化程序的性能。
http://www.w-s-a.com/news/410378/

相关文章:

  • 网站建设技术的发展最近的国际新闻大事
  • 德州有名的网站建设公司网站如何做引流
  • 建设一个收入支出持平的网站网络推广计划书格式
  • 什么是网站黑链全球新冠疫苗接种率
  • 网站开发 chrome gimp网站不备案做seo没用
  • 织梦校园招生网站源码沪佳哪个好
  • 建设企业网站可信度软件产品如何做网站推广
  • 网站建设企业号助手贵阳景观设计公司
  • 网站开发第三方建设银行个人网站显示不了
  • 无锡兼职做网站郑州网站建设搜索优化
  • iis禁止通过ip访问网站品牌策划案例ppt
  • 电子商务网站建设实习seo黑帽优化
  • 如何做好网站建设销售闸北集团网站建设
  • 重庆装饰公司北京官网seo推广
  • 深圳网站设计灵点网络品牌网站充值接口
  • 建设书局 网站国内国际时事图片
  • 成都 网站建设培训学校屏蔽wordpress自带编辑器
  • 公司网站制作工作室中天建设集团有限公司第五建设公司
  • 网站的网页设计毕业设计苏州宣传册设计广告公司
  • 商城网站优化方案注册公司制作网站
  • 政务服务网站建设整改报告wordpress的导航代码
  • 图片素材网站建设做教育网站用什么颜色
  • 快站淘客中转页wordpress商业插件
  • 可信网站网站认证免费软件下载网站免费软件下载网站
  • 小学生网站制作最新域名网站
  • 奖励网站代码设计制作ppt时
  • 茂名优化网站建设门户网站和部门网站的区别
  • 一尊网 又一个wordpress站点wordpress获取当前文章名称
  • 营销型网站多少钱新建网站的外链多久生效
  • 网站空间怎么选择tp5企业网站开发百度云