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

南阳哪有做网站公司建网站注意什么

南阳哪有做网站公司,建网站注意什么,360网页怎么制作,域名解析后怎么做网站0 内存管理概述 list的内存管理,实际上就是对list节点的管理。容器每增加或删除一个节点,都涉及内存的分配和释放。 0.1 为何会有内存管理? 通常来说,某个程序在运行初期总会向系统申请一定的内存,只有当已申请的内…

0 内存管理概述

list的内存管理,实际上就是对list节点的管理。容器每增加或删除一个节点,都涉及内存的分配和释放。

0.1 为何会有内存管理?

通常来说,某个程序在运行初期总会向系统申请一定的内存,只有当已申请的内存不够时,才会在此向系统申请。这一设计一方面是为了降低频繁的系统调用,另一方面也是为了提高内存分配效率。

也就是说,对于任何一个程序,其内部都有一个,所谓“局部内存管理器”。本节所讲的内存管理指的便是这个“局部内存管理器”,用于管理STL相关容器的内存分配。

0.2 STL中区分内存分配和构造/析构

在这里,我们首先要区分两点:内存空间的配置/释放对象内容的构造/析构

在对象的构造和析构中,主要涉及变量的初始化和部分申请内存的释放。
程序只要运行,就离内存的分配和释放。

为了体现这两者的差别,我们看placement new的使用:

在以往的使用习惯中,我们常见的C++用法是:

#include <iostream>using namespace std;
class A{
public:int a;A(int value):a(value){};
};int main(){A * a_ptr = new A(10);cout << a_ptr->a << endl;
}

而placement new的用法,允许你在一块儿指定的地址上构建:

#include <iostream>
#include <new>
#include <malloc.h>
using namespace std;
class A{
public:int a;A(int value):a(value){};
};int main(){void * n_ptr= malloc(sizeof(A));cout << n_ptr << endl;new (n_ptr) A(10);cout << n_ptr << endl;cout << ((A *)n_ptr)->a << endl;
}

1 节点的创建、释放、构造和析构

1.1 基本形式

在这里插入代码片

1.2 全局的构造和析构

在1.1中,我们使用到了全局的构造和析构函数,其具体内容如下:

// construct.h中
template <class T1, class T2>
inline void construct(T1 *p, const T2 & value){new (p) T1(value);// 调用T1::T1(value);
}//destory的多个版本
template <class T>
inline void destroy(T * pointer){pointer->~T();//调用T::~T();
}

这里的构造和析构函数有多个版本(用于接收不同的入口参数)(这里仅列举两个。)

仔细观察上述函数可知,这个函数是一个“套壳”函数。归根节点,该函数调用的是对象T1/T的构造函数和析构函数。对于list来说,调用的就是list::list()和list::~list()(暂时不考虑入口参数)。

对于其他STL容器来说也一样。某个容器具体的构造和析构定义在自定的类定义中。

这里仅列举几个有代表性的list类的构造和析构。

http://www.dtcms.com/a/464383.html

相关文章:

  • 网站建设 设计提成工业信息化部网站备案系统
  • 凡科网站怎么关闭建设中如何推广自己的个人网站呢
  • it培训机构网站开发做软件的步骤
  • 网站备案时间怎么查询情感网站seo
  • 门户网站功能模块网络营销成功案例介绍
  • 深圳高端做网站公司html代码翻译器
  • 销售渠道建设网站太原要做网站的公司
  • 做外贸网站特色wordpress管理网址
  • 西安网站搜索引擎优化设计网站页面鉴赏技巧ppt
  • 时光轴网站模板学院网站怎么做的
  • 东莞市建设局网站6哪儿能做邯郸网站建设
  • 站长工具里查看的网站描述和关键词都不显示建设用地规划许可证在哪个网站查询
  • 东营做网站多少钱网站建设销售职责
  • 毕业设计做啥网站好宣传片拍摄制作公司报价明细
  • 开的免费网站能赚钱吗电子商务与网站建设课程
  • 厦门专业网站设计代理wordpress主题 yusi
  • wordpress区块链导航类网站工程中标查询网站
  • 网站源码传到哪个文件夹建设工程包括什么工程
  • 做淘宝联盟网站要多少钱?设计师能做网站前端吗
  • 购物网站开发参考文献网址之家大全
  • 门户网站建设企业重庆市建设工程信息网证件信息
  • 网站建设要会哪些方面WordPress媒体库丢失
  • 推广网站是什么意思软文代写多少钱一篇
  • 网站生成手机站网站建设电子商务
  • 做微信用什么网站建筑网络工程教程
  • 网站 备案 几天做网站多少分辨率好
  • 做好网站建设静态化下载网站模板怎么使用
  • 新闻资讯网站备案网站推广公司 wordpress
  • 免费建站的站点网站wordpress 页面目录
  • 手表网站十大品牌深圳建筑工程招投标中心