11 2020 档案
摘要:本章焦点是了解C++内存管理例程的行为,主角是分配例程和归还例程。多线程环境下的内存管理,遭受单线程系统不曾有过的挑战。由于heap是一个可被改动的全局性资源,因此多线程系统充斥着发狂访问这类资源的race condition出现机会。本章多个条款提及使用可改动之static数据,如果没有适当的同步
阅读全文
摘要:本章旨在介绍一直支撑着所有基于template的编程 #条款41:了解隐式接口和编译器多态 面向对象编程世界总是以显示接口和运行期多态解决问题。以下面这个class为例: class Widget { public: Widget(); virtual ~Widget(); virtual std:
阅读全文
摘要:“继承”可以是单一继承或多重继承,每一个继承链接可以是public,protected或private,也可以是virtual或non-virtual,pure virtual。然后是成员函数的各个选项:virtual?non-virtual?pure virtual?以及成员函数和其他语言特性的交
阅读全文
摘要:太快定义变量造成效率上的拖延;过度使用转型可能导致代码变慢又难维护;返回对象“内部数据之号码牌”可能会破坏封装并留给客户虚吊号码牌;未考虑资源异常带来的冲击则可能导致资源泄漏和数据败坏;过度热心地inlining可能引起代码膨胀;过度耦合则可能导致让人不满意的亢长建置时间。本章会给出避免这些问题的办
阅读全文
摘要:本章将对良好C接口的设计和声明作出阐述,对某些最频繁出现的错误提出警告,为class、function和template设计经常遇见的问题作出解答。 #条款18.让接口容易被正确使用,不易被误用 请记住 1.好的接口很容易被正确使用,不容易被误用。 2.促进正确使用的办法包括接口的一致性,以及与内置
阅读全文
摘要:资源就是,一旦使用便需要手动归还给系统。C++中的资源包括动态分配内存,文件描述器,互斥锁,数据库连接,图形界面中的笔刷和字型,以及网络sockets。这些资源都需要在使用后归还给系统。本章所讲述的内容便是介绍资源管理的办法,这基于构造函数,析构函数,copying函数的基础上。 #条款13:以对象
阅读全文
摘要:#条款05:了解C默默编写并调用哪些函数 ##1) C编译器会声明编译器版本的copy构造函数,一个copy assignment操作符和一个析构函数,此外若没有声明一个构造函数,则还会声明一个默认构造函数。这些函数都是public且inline的。 ##2) copy构造函数和copy assig
阅读全文
摘要:该书的忠告分为两类:一般性的设计策略,以及带有具体细节的特定语言特性。 #条款01:视C为一个语言联邦 C是一个多重范型编程语言,同时支持过程形式、面向对象形式、函数形式、泛型形式/元编程形式的语言。主要由以下方面组成: 1)C. 2)Obeject-Oriented C++. 3)Template
阅读全文

浙公网安备 33010602011771号