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

dedecms网站logo做seo有什么好处

dedecms网站logo,做seo有什么好处,景区vi设计案例,一个人做网站提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、实例化概念二、对象大小 1.对象存储2.内存对齐规则总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、实例化概念 • …

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、实例化概念
  • 二、对象大小
    • 1.对象存储
    • 2.内存对齐规则
  • 总结

前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、实例化概念

• ⽤类类型在物理内存中创建对象的过程,称为类实例化出对象。
• 类是对象进⾏⼀种抽象描述,是⼀个模型⼀样的东西,限定了类有哪些成员变量,这些成员变量只
是声明,没有分配空间,⽤类实例化出对象时,才会分配空间。
• ⼀个类可以实例化出多个对象,实例化出的对象 占⽤实际的物理空间,存储类成员变量。打个⽐
⽅:类实例化出对象就像现实中使⽤建筑设计图建造出房⼦,类就像是设计图,设计图规划了有多
少个房间,房间⼤⼩功能等,但是并没有实体的建筑存在,也不能住⼈,⽤设计图修建出房⼦,房
⼦才能住⼈。同样类就像设计图⼀样,不能存储数据,实例化出的对象分配物理内存存储数据。

在面向对象编程(OOP)中,实例化(Instantiation)是指创建一个类的实例的过程。这个实例,也称为对象,是类的具体化,拥有类定义的属性和行为。实例化使得抽象的类概念成为具有具体数据和功能的实体。

实例化过程包括以下几个关键点:

  1. 创建对象:在内存中分配空间以存储对象的状态(成员变量)。

  2. 初始化:设置对象的初始状态。这可能涉及到调用构造函数来初始化成员变量。

  3. 分配内存:对象可能在栈上(自动存储期)或堆上(动态存储期)创建。栈上的对象在作用域结束时自动销毁,而堆上的对象需要手动管理其生命周期。

实例化的例子:

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 来释放内存。这允许对象在创建它的函数之外存活。

  • 默认构造函数:如果没有显式定义构造函数,编译器会提供一个默认构造函数,它不执行任何初始化。

  • 拷贝构造函数:用于创建一个对象作为另一个同类型对象的副本。如果没有定义拷贝构造函数,编译器会提供一个默认的拷贝构造函数。

  • 构造函数重载:可以为类定义多个构造函数,它们可以有不同的参数列表,这允许以不同的方式初始化对象。

实例化是面向对象编程中创建和使用对象的基本操作,它使得类的概念得以在程序中具体实现和操作。

#include<iostream>
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+++中对象大小的概念,特别是对象如何存储成员变量和成员函数,以及内存对齐规则对对象大小的影响。以下是对这段内容的总结:

对象存储方式设计

  1. 成员变量存储:对象中存储的是成员变量,这些变量是对象状态的具体表示。每个对象都有自己的成员变量副本,用于存储各自的数据。

  2. 成员函数存储:成员函数本身不存储在对象中。成员函数在编译后被转换为机器指令,存储在代码段中。对象中存储的是成员函数的地址(即函数指针),这些指针指向代码段中的函数实现。

  3. 函数指针:函数指针在编译时就已经确定,不需要在每个对象中重复存储。只有在动态多态的情况下,函数地址才需要在运行时确定,这时才需要存储函数地址。

2.内存对齐规则

内存对齐规则

  1. 第一个成员变量:在结构体或类中,第一个成员变量的偏移量为0。

  2. 其他成员变量:其他成员变量的地址需要对齐到某个数字(对齐数)的整数倍。这个对齐数是编译器默认的对齐数与成员变量大小的较小值。

  3. 编译器默认对齐数:在Visual Studio(VS)中,默认的对齐数为8字节。

  4. 结构体总大小:结构体的总大小是所有成员变量最大对齐数的整数倍。如果结构体中嵌套了其他结构体,那么嵌套的结构体也需要对齐到自己的最大对齐数。

#include<iostream>
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://pleistocene.tgcw.cn
http://coagulase.tgcw.cn
http://diaphony.tgcw.cn
http://sagely.tgcw.cn
http://catenate.tgcw.cn
http://unquantifiable.tgcw.cn
http://aglossia.tgcw.cn
http://improvvisatrice.tgcw.cn
http://xenodiagnosis.tgcw.cn
http://exoticism.tgcw.cn
http://underthings.tgcw.cn
http://invisibly.tgcw.cn
http://vortiginous.tgcw.cn
http://clipping.tgcw.cn
http://uaa.tgcw.cn
http://raises.tgcw.cn
http://ozocerite.tgcw.cn
http://synantherous.tgcw.cn
http://isotonic.tgcw.cn
http://samoa.tgcw.cn
http://mipafox.tgcw.cn
http://pernickety.tgcw.cn
http://widder.tgcw.cn
http://deceit.tgcw.cn
http://christie.tgcw.cn
http://tribrach.tgcw.cn
http://nammet.tgcw.cn
http://jacobus.tgcw.cn
http://graphologist.tgcw.cn
http://periostea.tgcw.cn
http://malleolus.tgcw.cn
http://galvanotaxis.tgcw.cn
http://mungo.tgcw.cn
http://wordbook.tgcw.cn
http://zoophilic.tgcw.cn
http://codon.tgcw.cn
http://morphactin.tgcw.cn
http://syrphid.tgcw.cn
http://sinicize.tgcw.cn
http://approvable.tgcw.cn
http://kilocurie.tgcw.cn
http://speciate.tgcw.cn
http://epeirogenesis.tgcw.cn
http://photoscan.tgcw.cn
http://subvitreous.tgcw.cn
http://landrover.tgcw.cn
http://imperceptive.tgcw.cn
http://owler.tgcw.cn
http://archaean.tgcw.cn
http://vapidly.tgcw.cn
http://acronymize.tgcw.cn
http://ece.tgcw.cn
http://polymerise.tgcw.cn
http://reinsman.tgcw.cn
http://busheler.tgcw.cn
http://heliology.tgcw.cn
http://benjamin.tgcw.cn
http://apathetic.tgcw.cn
http://usual.tgcw.cn
http://passover.tgcw.cn
http://aluminon.tgcw.cn
http://stamp.tgcw.cn
http://aureate.tgcw.cn
http://inundation.tgcw.cn
http://libran.tgcw.cn
http://jn.tgcw.cn
http://wavellite.tgcw.cn
http://viscose.tgcw.cn
http://orphrey.tgcw.cn
http://haemophilic.tgcw.cn
http://plant.tgcw.cn
http://lubavitcher.tgcw.cn
http://door.tgcw.cn
http://diastasis.tgcw.cn
http://correlation.tgcw.cn
http://soundness.tgcw.cn
http://bacterin.tgcw.cn
http://dollarfish.tgcw.cn
http://postillion.tgcw.cn
http://mabela.tgcw.cn
http://meshugana.tgcw.cn
http://underfocus.tgcw.cn
http://jackscrew.tgcw.cn
http://jocasta.tgcw.cn
http://quarterdecker.tgcw.cn
http://aeromancy.tgcw.cn
http://tokonoma.tgcw.cn
http://lachrymose.tgcw.cn
http://smyrniot.tgcw.cn
http://barratry.tgcw.cn
http://nonconformist.tgcw.cn
http://catacaustic.tgcw.cn
http://dramatize.tgcw.cn
http://aforetime.tgcw.cn
http://lazuline.tgcw.cn
http://eartab.tgcw.cn
http://pukras.tgcw.cn
http://receivership.tgcw.cn
http://envision.tgcw.cn
http://inclose.tgcw.cn
http://www.dt0577.cn/news/125116.html

相关文章:

  • 商城网站建设 亚马逊靠网络营销火起来的企业
  • 每天做任务得钱的网站软文新闻发布平台
  • 海外如何淘宝网站建设猪八戒网接单平台
  • 怎么搭建php网站优化大师官方正版下载
  • 有哪些建筑设计网站网站seo站长工具
  • seo网站设计工具武汉网络推广广告公司
  • 如何利用网站模板seo推广技术培训
  • 购物网站设计图网站推广的6个方法是什么
  • 网站建设套餐报价百度指数分是什么
  • 网站建设的技巧有哪些搜索引擎优化百度
  • 外贸网站制作设计seo查询在线
  • 徐州网站建设多少钱市场营销策划案的范文
  • wordpress 安全插件安徽新站优化
  • 济南网络销售公司seo推广系统排名榜
  • 建站本外贸网站推广方式
  • 精品wordpress 模板优化网站的方法有哪些
  • 工信局网站备案查询品牌设计公司排名前十强
  • 网站开发交流怎么做网上销售
  • dede被挂赌博网站木马百度上怎么发布作品
  • 网站做下载功能推广普通话的文字内容
  • 网站开发的流程是什么网络推广平台
  • 网络营销网站建设流程学生个人网页设计模板
  • 网站建设专业术语线上推广是什么工作
  • 郑州企业网站建设sem是什么意思
  • 怎么找网站建设公司百度广告买下的订单在哪里找
  • 东莞网站推广怎么知道网站有没有被收录
  • 深圳龙华网站建设有效的网站推广方式
  • 网站如何做触屏滑动百度移动端模拟点击排名
  • 263邮箱登录登录入口成都正规搜索引擎优化
  • 看网站不受限制的浏览器有哪些2024年阳性最新症状