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

运城网站建设费用我要自学网视频教程

运城网站建设费用,我要自学网视频教程,学者网学科建设网站,亚马逊云服务器收费标准一、内存池的缺陷 作者在上一版本里面介绍了链表实现内存池,其中有一个小缺陷:虽然较少了cookie的内存损耗,但是加入了一个额外的指针,仍然需要占用内存。我们仔细看内存池的设计思想,可以发现一个关键点:…

一、内存池的缺陷

作者在上一版本里面介绍了链表实现内存池,其中有一个小缺陷:虽然较少了cookie的内存损耗,但是加入了一个额外的指针,仍然需要占用内存。我们仔细看内存池的设计思想,可以发现一个关键点:
对于一个内存切片,如果放置在freeList中,才会使用指针。如果被用于构造对象,则这个指针毫无用处。
于是可以想到,可以将一块内存区域,即作为指针使用,又用于构造对象。
方案一:共同体,这个东西过于古早了,不过多解释。
方案二:嵌入式指针。

二、指针类型转换

想要把嵌入式指针讲清楚,先要把指针类型转换讲清楚。
在C++里面,所有指针都是四字节,表示一个地址。那么为什么指定指针的类型呢?编译器根据指针定位到这个内存地址之后,根据指针类型去解析这个数据。举个例子,假如是一个int类型的指针,定位到这个地址之后,扫描后面的四个字节,去解析这32位二进制代表的int数字是多少。
说一个看起来违背常识的事情,指针之间转换,基本是不被编译器报错的!!但是有可能解析出来一大堆稀奇古怪的东西,所以最好不要这样做。也就是说,给编译器一个地址和数据类型,编译器就可以解析,至于解析出来的是什么东西,由程序员负责
看代码:

#include <iostream>
using namespace std;class Test
{
public:int m_i;int m_j;
};class A{
public:int a;
};int main()
{Test t ;t.m_i=1000;t.m_j=2;A *a=(A*)&t;cout<<a->a<<endl;cout<<t.m_j;
}

输出结果:

1000
2

说明一点:
(1)Test类的字节数大于A类,将Test指针强转为A类型指针后,相当于使用前面的地址,后面的地址也不会被抛弃,只是当前不用。
(2)不考虑cookie的情况下,a->a相当于解析t的前四位字节,恰好前四位也是int类型,就可以解析出来t.m_i对应的值。

http://www.yayakq.cn/news/717747/

相关文章:

  • 做网站学什么专业网站上地图怎么做的
  • 青岛网站开发培训庆阳网站制作
  • 称多网站建设做公众号用什么网站
  • 站群网站内容陕西公共资源交易中心
  • 厅网站建设中标公告800多块做网站
  • 怎么建立一个博客网站吗苏中建设集团网站
  • 网站建设营销模板网站开发用到的框架
  • 创建一个自己的网站的步骤微擎做的网站好排名吗
  • 广州网站建设网络推广公司龙岩天宫山攻略
  • 西安专业做网站建国外教育网站模板
  • 建设交流网站微信平台开发
  • 企业网站设计能否以app制作教程培训
  • 免费的舆情网站入口在哪不用写代码做的网站
  • 网站建设中广告图片尺寸榆林电商网站建设
  • 苏州做网站的公司排名国外最大的素材网站
  • 网站建设公司推荐金石下拉网络wordpress图片数据库
  • 培训型网站建设网站用php做的吗
  • 家用电脑和宽带做网站网站主题有哪些
  • 自己做信息网站网站建设如何接单
  • 石家庄网站建设哪家好微信社群营销推广方案
  • 医院网站建设存在问题做网站时的注册权起到什么作用
  • 台州做网站网店推广目的
  • thinkphp怎么做网站宁阳房产网
  • 夜晚必备直播软件南昌seo顾问
  • 网站开发税收分类seo专业培训费用
  • 做邮箱网站中卫平面设计招聘
  • 网站建设过程中要注意沟通深圳罗湖做网站
  • 北京做网站公司互联网中厂有哪些公司
  • 怎么通过做网站挣钱我要恢复百度
  • 移动网站 做优化怎么做带数据库的网站