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

深圳建设局网站查询google云 wordpress

深圳建设局网站查询,google云 wordpress,资讯文章减肥健康wordpress,济宁住房和城乡建设局网站首页目录 一.程序启动所关联的内存分区 二.动态内存的申请和释放 三.将RAII思想融入代码 四.RAII思想的简单应用 一.程序启动所关联的内存分区 .dll文件是Dynamic Link Library#xff08;动态链接库#xff09;文件的缩写#xff0c;它是一种共享库文件#xff0c;包含…目录 一.程序启动所关联的内存分区 二.动态内存的申请和释放 三.将RAII思想融入代码 四.RAII思想的简单应用  一.程序启动所关联的内存分区 .dll文件是Dynamic Link Library动态链接库文件的缩写它是一种共享库文件包含了程序所需的代码和数据。与静态链接库不同动态链接库可以在程序运行时动态加载使得程序的内存占用更小同时也方便了程序的更新和维护。 程序启动时系统会将exe主程序依赖的所有dill库文件加载到进程的代码段的内存区中这些文件里存放的是可执行的二进制机器码也就是汇编代码。 等到所有的dill模块都加载完毕后才将exe主程序加载到进程空间之后启动C/C运行时库然后给全局变量分配内存并执行全局变量的初始化操作此处对应的是全局内存区然后才会进入到main函数程序启动。 当执行函数时在当前线程栈内存上给函数的局部变量申请栈内存如果执行的是malloc或者new的代码申请的就是堆内存。 二.动态内存的申请和释放 在C/C中动态申请的内存是需要开发人员自己去管理的即使用完毕后需要手动去释放否则就会造成内存泄漏产生严重bug。 三.C中使用new去申请内存用delete来释放内存 C在支持malloc和free动态申请内存的基础上新增new和delete两种方式new主要是用来new出一个C对象来也就是在堆内存上申请一个C对象的内存不用时调用delete释放掉。 new一个C对象时不仅会在堆上申请内存还会调用该对象的构造函数具体来说是先申请内存再调用构造函数。 同样的delete时会调用该对象的析构函数具体来说是先调用析构函数然后释放掉对象所占堆内存。 需要注意的是new出来的对象不会自动调用析构函数需要我们手动去delete。 三.将RAII思想融入代码 这样一来如果程序很复杂那delete就会很繁琐并且容易出错所以我们编程时就需要融入RAII(Resource Acquistion Is Intialization)思想。 当我们在main函数中声明一个局部对象的时候会自动调用构造函数进行对象的初始化当整个main函数执行完成后自动调用析构函数来销毁对象整个过程无需人工介入由操作系统自动完成于是很自然联想到当我们在使用资源的时候在构造函数中进行初始化在析构函数中进行销毁。整个RAII过程我总结四个步骤 a.设计一个类封装资源 b.在构造函数中初始化 c.在析构函数中执行销毁操作 d.使用时声明一个该对象的类 下面是基于RAII思想实现的一个简单的互斥锁。 四.RAII思想的简单应用 #includepthread.h #includeiostreamclass Mutex { private:/* data */pthread_mutex_t *_mutex; public:Mutex(pthread_mutex_t *mutex);~Mutex();void Lock(){std::coutInitialize Successstd::endl;pthread_mutex_lock(_mutex);}void UnLock(){std::coutDelete Successstd::endl;pthread_mutex_unlock(_mutex);} };Mutex::Mutex(pthread_mutex_t* mutex) :_mutex(mutex) {}Mutex::~Mutex() {}class LockGuard { private:Mutex _mutex; public:LockGuard(pthread_mutex_t *mutex);~LockGuard(); };LockGuard::LockGuard(pthread_mutex_t* mutex) :_mutex(mutex) {_mutex.Lock(); }LockGuard::~LockGuard() {_mutex.UnLock(); }int main() {pthread_mutex_t mutex;LockGuard lockGuard(mutex);return 0; }运行代码自动调用构造函数和析构函数不用我们手动删除非常方便。  需要注意Delete Success是在return 0之后才打印的。
http://www.hkea.cn/news/14473356/

相关文章:

  • 河北省城乡住房建设厅网站app拉新渠道
  • 妇联加强网站平台建设北京朝阳区网站建设公司
  • 太仓网站设计早晨设计山西省城乡住房和建设厅网站首页
  • 水利工程建设信息网站东莞网站建设制作
  • 网站建设需要摊销吗百度关键词搜索排名
  • 有专门做网站的公司吗中国三线建设网站
  • 微网站的链接怎么做wordpress 链接分类
  • 品牌型网站建设的好处创可贴网站怎么做图片
  • 地方门户网站的推广进不了wordpress
  • 有哪些网站是可以接单做任务的佛山三水区有没有网站建设公司
  • 永久免费手机网站建设的好处丽水连都区建设局网站
  • 深圳网站制作哪里济南兴田德润简介网站推广平台怎么做
  • 制作html网站家装公司加盟
  • 企业解决方案参考网站惠州市住房和城乡规划建设局网站
  • 网站受众群体东莞php网站建设价格
  • 宁夏网站开发公司优化火车票
  • 健康管理公司网站建设做网站可以把文字做成图片吗
  • wordpress主题lovephoto2.0.1宁波seo高级方法
  • 南宁建设厅网站是什么很小众却很惊艳的公众号名字
  • 网站建设手机端搭建网页代码流程
  • 灯饰模板网站wordpress焦点图
  • html5营销网站建设试用网站建设
  • 有没有做catalog的网站企业ci设计
  • 素材下载网站开发文档seo中介平台
  • 织梦 蓝色 个人网站博客网站源码华为建站
  • 怎么让网站页面自适应网站设计规划思路
  • 江山企业自适应网站建设首选免费ppt素材库大全app
  • 贞丰县建设局网站网站流程
  • 德州建设公司网站wordpress如何设置注册用户名大于4个字符
  • 电商网站怎么做微信支付阳江房产网最新楼盘