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

响应式网站跟一般网站的区别山东网站建站系统平台

响应式网站跟一般网站的区别,山东网站建站系统平台,网页设计网站首页代码,课程网站建设ppt模板下载条款16#xff1a;成对使用new和delete时要采取相同形式 此条款#xff0c;依然是针对对象管理资源的补充#xff0c;内容分为三个部分#xff1a; 错误案例为什么要采取相同形式需要注意什么 一、错误案例 取原书的例子#xff1a; std::string* stringArray new s…条款16成对使用new和delete时要采取相同形式 此条款依然是针对对象管理资源的补充内容分为三个部分 错误案例为什么要采取相同形式需要注意什么 一、错误案例 取原书的例子 std::string* stringArray new std::string[100]; delete stringArray; //错误这一切看起来都井然有序。一个new匹配了一个delete。但有一些地方确实是错了。程序的行为是未定义的。至少来说stringArray指向的100个string对象中的99个看上去都不能被正确释放因为他们的析构函数可能永远不会被调用。 二、为什么要采取相同形式 回答这个问题之前会按照如下顺序 new和delete做了什么错误案例错在哪里采取相同形式的总结 1、new和delete做了什么 当你使用一个new表达式通过使用new动态的创建一个对象时会按顺序发生两件事情 第一内存被分配通过一个叫做operator new的函数看条款49和条款51。 第二在分配的内存上调用了一个或多个构造函数。 当你使用一个delete表达式时也会有两件事情按顺序发生 第一在内存上调用了一个或者多个析构函数 第二内存被解除分配通过调用叫做operator delete的函数,见条款51。 关于delete的一个重要的问题是 在即将被删除的内存中究竟有多少对象 这个问题的答案决定了有多少个析构函数必须被调用。 2、错误案例错在哪里 因为单个对象的内存分配通常情况下同数组的内存分配是不一样的。 单个对象内存分配就是一个对象。 数组内存分配是一个数组大小加上 数组大小n 个 对象。 所以编译器搞混了被删除的指针是指向一个单独的对象还是指向数组的所有对象用删除单个对象的方式对待数组不知道有数组大小的存在不知道需要调用多少个析构函数。 std::string *stringPtr1 new std::string; std::string *stringPtr2 new std::string[100]; ... delete stringPtr1; // 删除一个对象 delete [] stringPtr2; // 删除一个对象组成的数组3、采取相同形式的总结 简单一条规则 如果你在一个new表达式中使用”[]”你必须在对应的delete表达式中使用”[]”反之亦然。 此规则当你实现一个包含指向动态分配内存的指针的类并且同时提供多个构造函数的时候务必将其多多注意。 三、需要注意什么 对于倾向于使用typedef的人来说这条规则同样值得注意因为这意味着typedef的作者必须指出使用new来创建typedef类型的对象时使用什么形式的delete对其进行销毁。看下面的例子 //将string[4]数组声明为AddressLines typedef std::string AddressLines[4];因为AddressLines是一个数组new应该这么使用 //相当于std::string* pal new std::string[4]; std::string* pal new AddressLines;使用delete的形式必须和new相匹配 delete [] pal;//正确 //delete pal;错误的为了避免这种混淆不如放弃在数组类型上使用typedef。这很容易因为标准c库(见条款54)中包含stringvector和模板使得对动态分配数组的需求几乎将为0。这里我们举个例子AddressLines可以被定义成由strings组成的vector也就是类型 vector。 四、总结 如果你在new表达式中使用[]必须在相应的delete表达式中也使用[]。如果你在new表达式中不使用[]一定不要在相应的delete表达式中使用[]
http://www.zqtcl.cn/news/469096/

相关文章:

  • 如何建网站赚钱做淘宝网店需要多少钱
  • 做个企业网站 优帮云移动商城个人中心手机卡进度查询
  • 深圳建设网站哪家最好国外互联网裁员
  • 网站重新建设的请示wordpress get_terms 排序
  • 建站模板免费下载wordpress 管理地址
  • 静安企业网站制作wordpress文章列表显示缩略图
  • html前端网站开发先做网站还是先解析
  • 怎么通过域名访问网站elision wordpress
  • 做邮轮的网站做游戏的软件app
  • 做网站用php还是python家装十大品牌排行榜
  • 湛江网站建设招聘创作者服务平台
  • 衡阳建网站高中制作网站怎么做
  • 上海网站排名团队推广链接跳转
  • 寻找郑州网站优化公司上海高端网站定制
  • 网站关键词排名优化长城建设投资有限公司网站
  • 网站专题优化电子商务网站运营方案
  • 唐山建网站公司湖南网站制作电话
  • 做神马网站优化合肥城乡建设局官网
  • 网站开发与管理心得体会建设高流量网站
  • 网站安全建设的重要性减粘装置设备设计要点
  • 建设一个网站的所有代码Django和wordpress速度
  • 临沂市建设局网站公示php建站系统
  • 有哪些好的做问卷调查的网站好学的专业是编课 网站开发英语翻译
  • 个人网站免费推广广饶网站制作
  • 怎么检测网站是否安全拍卖网站开发
  • 沂源网站制作自建网站的流程
  • 网站关键词收录查询网站最好服务器
  • 做百度移动网站优网站建设类论文选题
  • 自己做的网站怎样让百度搜到长沙专业外贸建站公司
  • 上海缔客网站建设公司网站策划书内容不包括什么