条款6析构函数里对指针成员调用delete.DOC

  1. 1、本文档共197页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
条款6析构函数里对指针成员调用delete

前言 3 導讀 5 第一章 从C转向C++ 13 条款1:尽量用const和inline而不用#define 14 条款3:尽量用new和delete而不用malloc和free 16 条款4:尽量使用c++风格的注释 17 第二章 内存管理 18 条款5:对应的new和delete要采用相同的形式 19 条款6:析构函数里对指针成员调用delete 19 条款7:预先准备好内存不够的情况 20 条款8: 写operator new和operator delete时要遵循常规 27 条款9: 避免隐藏标准形式的new 30 条款10: 如果写了operator new就要同时写operator delete 32 第三章 构造函数,析构函数和赋值操作符 39 条款11: 为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符 39 条款12: 尽量使用初始化而不要在构造函数里赋值 42 条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同 46 条款14: 确定基类有虚析构函数 48 条款15: 让operator=返回*this的引用 52 条款16: 在operator=中对所有数据成员赋值 55 条款17: 在operator=中检查给自己赋值的情况 59 第四章 类和函数:设计与声明 64 条款18: 争取使类的接口完整并且最小 65 条款19: 分清成员函数,非成员函数和友元函数 68 条款20: 避免public接口出现数据成员 73 条款21: 尽可能使用const 74 条款22: 尽量用“传引用”而不用“传值” 81 条款23: 必须返回一个对象时不要试图返回一个引用 84 条款24: 在函数重载和设定参数缺省值间慎重选择 88 条款25: 避免对指针和数字类型重载 91 条款26: 当心潜在的二义性 94 条款27: 如果不想使用隐式生成的函数就要显式地禁止它 97 条款28: 划分全局名字空间 98 第五章 类和函数: 实现 103 条款29: 避免返回内部数据的句柄 103 条款30: 避免这样的成员函数:其返回值是指向成员的非const指针或引用,但成员的访问级比这个函数要低 108 条款31: 千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针的引用 110 条款32: 尽可能地推迟变量的定义 113 条款33: 明智地使用内联 115 条款34: 将文件间的编译依赖性降至最低 120 第六章 继承和面向对象设计 128 条款35: 使公有继承体现 是一个 的含义 129 条款36: 区分接口继承和实现继承 134 条款37: 决不要重新定义继承而来的非虚函数 141 条款38: 决不要重新定义继承而来的缺省参数值 143 条款39: 避免 向下转换 继承层次 145 条款40: 通过分层来体现 有一个 或 用...来实现 153 条款41: 区分继承和模板 155 条款42: 明智地使用私有继承 159 条款43: 明智地使用多继承 164 条款44: 说你想说的;理解你所说的 177 第七章 杂项 178 条款45: 弄清C++在幕后为你所写、所调用的函数 178 条款46: 宁可编译和链接时出错,也不要运行时出错 182 条款47: 确保非局部静态对象在使用前被初始化 185 条款48: 重视编译器警告 188 条款49: 熟悉标准库 188 条款50: 提高对C++的认识 194 前言 這本書是多年來我對專業程式員所做的C++ 教學課程下的一個自然產物。我發現,大部份學生在一個星期的密集訓練之後,即可適應這個語言的基本架構,但要他們「將這些基礎架構以有效的方式組合運用」,我實在不感樂觀。於是我開始嘗試組織出一些簡短、明確、容易記憶的準則,做為C++ 高實效性程式開發過程之用。那都是經驗豐富的C++ 程式員幾乎總是會奉行或幾乎肯定要避免的一些事情。 我最初的興趣在於整理出一些可被某種「lint-like 程式」施行的規則,最後我甚至領導一個計劃,研究某種可將C++ 原始碼中違反使用者指定條件之處檢驗出來的工具(你可以在Effective C++ 網站上找到此研究的一份概要報告)。不幸的是在我尚未完成其完整原型之前,這個研究計劃便結束了。幸運的是,目前市面上已有這類C++ 檢驗工具(商品),而且不只一個。 雖然我最初的興趣是在研究可被(某種工具)自動實施的程式設計準則,但我很快瞭解到那個研究方向的侷限性。優秀的C++ 程式員所奉行的準則,多數都難以「公式化」;要不就是雖然它們有許多重要的例外情況,卻被程式員盲目地奉行不渝。這使我念頭一轉:某些東西雖然不比電腦程式精準,但仍能比一本泛泛的C++ 教科書更集中火力,更打到重點。這個念頭的結果就是你手上這本書:

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档