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

门户网站源码入驻网站地图灰色效果的怎么做的

门户网站源码入驻,网站地图灰色效果的怎么做的,施工企业会计分录大全,网站策划书主题SGI 特殊的空间配置器 std::alloc 一般而言#xff0c;我们习惯的C内存配置操作和释放操作是这样的 class Foo{…..} Foo* pf new Foo; delete pf; new包含两阶段操作 #xff08;1#xff09;调用 ::operator new 配置内存 #xff08;2#xff09;调用 Foo::Foo() …SGI 特殊的空间配置器 std::alloc 一般而言我们习惯的C内存配置操作和释放操作是这样的 class Foo{…..} Foo* pf new Foo; delete pf;     new包含两阶段操作 1调用 ::operator new 配置内存 2调用 Foo::Foo() 构造对象内容。 delete也包含两阶段操作 1调用 Foo::~Foo() 将对象析构 2调用::operator delete 释放内存。    SGImemory 内含以下两个文件 #includestl_alloc.h //负责内存空间的配置与释放 #includestl_construct.h //负责对象内容的构造与析构    构造和析构基本工具 construct() 和 destroy() destroy有两个版本第一版本接受一个指针直接调用该对象的析构函数。 第二版本接收 frist 和 last 两个迭代器 将 [frist, last)范围内的所有对象析构掉。 首先利用 value_type () 获得迭代器所指对象的型别 再利用 _type_traitsT 判断该型别支持的析构函数是否是无关痛痒trivial destructor 若是则什么也不做就结束若不是以循环寻访整个范围并在循环中每经历一个对象就调用第一个版本的destroy。    空间的配置与释放 std::alloc    对象构造前的空间配置和对象析构后的空间释放由stl_alloc.h负责 1向system heap 要求空间 2考虑多线程状态 3考虑内存不足时的应变措施 4考虑过多小型区块可能造成的内存碎片问题。    考虑到小型区块所可能造成的内存破碎问题SGI设计了双层级配置器。第一级配置器直接使用malloc() 和free(), 第二级配置器则视情况采用不同的策略当配置区块超过 128bytes 时视之为足够大便调用第一级配置器当小于128bytes时视之为过小为了降低额外的负担采用复杂的 memory pool整理方式。          第一级配置器 __malloc_alloc_template SGI 第一级配置器的 allocate() 和 realloc()都是在调用 malloc() 和 realloc() 不成功之后改调用 oom_malloc() 和 oom_realloc() 两者都有内循环不断调用内存不足处理例程期望在某次调用后获得足够的内存而圆满完成任务但如果内存不足处理例程未被客户端设定便会抛出异常。    第二级配置器 __default_alloc_template 第二级配置器多了一些机制避免太多小额区块造成内存的碎片。小额区块带来的不仅仅是内存碎片的问题配置时的额外负担也是很大的问题。系统要靠这多出来的空间来管理内存。区块愈小额外负担所占比例就越大就越浪费。    SGI第二级配置器的做法是如果区块够大超过128bytes时就移交第一级配置器当小于128bytes时则以内存池memory pool管理此法又称次层配置 每次配置一大块内存并维护之自由链表下次若再有相同大小的内存需求就直接从free-lists中拔出如果客户端释还小额区块就由配置器回收到free-lists中。 为了方便管理SGI第二级配置器会主动将任何小额区块的内存需求量上调至8的倍数并维护16个 free-lists各自管理大小为816243240566472808896104112120128bytes    空间配置函数allocate() 空间释放函数deallocate() 重新填充 free lists 当它发现free lists中没有可用的区块时就调用refill()准备为free list 重新填充空间。新的空间将取自内存池。    内存基本处理工具    uninitialized_copy() uninitialized_copy()使我们能够将内存的配置与对象的构造行为分离开来。 如果作为输出目的地[result result last - frist 范围内每一个迭代器都指向未初始化区域 则 uninitiated_copy() 会使用 copy consturctor 给身为输入来源之[frist, last] 范围内的每一对象产生一份复制品放进输出范围中。          Uninitialized_fill()       Uninitialized_fill_n()    Uninitialized_fill_n()能够使我们将内存配置与对象构造行为分离开来它会为指定范围内的所有元素设定相同初值       接受三个参数 1迭代器指向与初始化空间的起始处 2n 表示欲初始化空间的大小 3x 表示初值    首先萃取出迭代器Frist 的型别再判断是否是POD型别 POD指plain old data 标量型别       转载于:https://www.cnblogs.com/h3mmm/p/9821093.html
http://www.pierceye.com/news/569299/

相关文章:

  • 网站制作咨询电话网站托管费用多少
  • 做网站 需求怎么写成都优化网站源头厂家
  • 我买了一个备案网站 可是公司注销了学服装设计的就业方向
  • 网站后台上传不了图片请人做网站需要注意什么条件
  • 建网站哪家好案例网页设计感悟与体会
  • 做网站要实名吗深圳货拉拉
  • 综合门户网站是什么意思建设机械网站
  • 主题资源网站建设作业高级网站开发工程师考试题
  • 含山建设局网站免费的个人简历模板文档
  • 门户网站建设推荐高校英文网站建设 文献综述
  • 织梦网站备案免费咨询网站
  • wordpress站内搜索插件网站管理程序
  • 网站建设友链交换自己电脑做网站iis
  • 全球优秀企业网站做原型的素材网站
  • 单页面营销网站怎么用polylang做网站
  • 网站开发入那个科目中国网站建设哪家公司好
  • 网站流量提升方案软件公司名称大全查询
  • 怎么做淘客专属网站济南公司网站推广优化最大的
  • 苏州网站建设极简幕枫织梦模板网站源码
  • 青岛网站设计定制2023传奇手游排行榜
  • 商务酒店网站建设淮南网备案查询
  • 菏泽炫佑网站建设中国城乡建设部网站
  • 网站开发与移动互联自助建站的优点与缺点
  • 公司做网站的好处上海网站设计找哪家
  • 个人如果做网站赚钱吗WordPress 聊天小工具
  • 商城网站建设哪家便宜网络架构师和网络工程师区别
  • p2p网站建设 深圳广东手机网站建设品牌
  • 亚马逊网上商城是正品吗长沙seo计费管理
  • 东莞品牌网站建设多少钱网站设计有限公司怎么样
  • dedecms新网站 上传到万网的空间浦口区网站建站公司