用于大型程序的工具
--命名空间
引言:
在一个给定作用域中定义的每个名字在该作用域中必须是唯一的,对庞大、复杂的应用程序而言,这个要求可能难以满足。这样的应用程序的全局作用域中一般有许多名字定义。由独立开发的库构成的复杂程序更有可能遇到名字冲突 —— 同样的名字既可能在我们自己的代码中使用,也可能(更常见地)在独立供应商提供的代码中使用。
库倾向于定义许多...
分类:
编程语言 时间:
2016-05-12 14:37:53
阅读次数:
269
《C++ Primer 4th》读书笔记 相对于小的程序员团队所能开发的系统需求而言,大规模编程对程序设计语言的要求更高。大规模应用程序往往具有下列特殊要求: 1. 更严格的正常运转时间以及更健壮的错误检测和错误处理。错误处理经常必须跨越独立开发的多个子系统进行。 2. 能够用各种库(可能包含独立开
分类:
编程语言 时间:
2016-02-01 20:51:33
阅读次数:
242
18.1异常处理try { // actions that cause an exception to be thrown}catch (...) { // work to partially handle the exception throw;}在C++中,通过throwing...
分类:
其他好文 时间:
2016-01-23 22:59:09
阅读次数:
287
2015年6月9日 星期二 22:09第五部分 高级主题 第17章~第18章第17章 用于大型程序的工具异常处理,C++的异常处理中,需要由问题检测部分抛出一个对象给处理代码,通过这个对象的类型和内容,两个部分能够就出现了什么错误进行通信抛出类类型的异常,异常是通过throw对象而引发raise的。...
分类:
编程语言 时间:
2015-06-09 23:36:03
阅读次数:
250
第17章 用于大型程序的工具异常处理不存在数组或函数类型的异常。相反,如果抛出一个数组,被抛出的对象转换为指向数组首元素的指针,类似地,如果抛出一个函数,函数被转换为指向该函数的指针。不要抛出指针析构函数不要抛出异常除下面几种可能的区别之外,异常的类型与 catch 说明符的类型必须完全匹配:? 允...
分类:
编程语言 时间:
2015-02-13 14:32:57
阅读次数:
227
用于大型程序的工具--异常处理[续1]四、又一次抛出 有可能单个catch不能全然处理一个异常。在进行了一些校正行动之后,catch可能确定该异常必须由函数调用链中更上层的函数来处理,catch能够又一次抛出将异常传递给函数调用链中更上层的函数。又一次抛出是后面不跟类型或表达式的一个throw: ....
分类:
编程语言 时间:
2015-01-14 14:02:58
阅读次数:
257
用于大型程序的工具--异常处理引言: C++语言包括的一些特征在问题比較复杂,非个人所能管理时最为实用。如:异常处理、命名空间和多重继承。 相对于小的程序猿团队所能开发的系统需求而言,大规模编程[往往涉及数千万行代码]对程序设计语言的要求更高。大规模应用程序往往具有下列特殊要求: 1.更严格的正常运...
分类:
编程语言 时间:
2014-10-02 13:18:03
阅读次数:
262
用于大型程序的工具--多重继承与虚继承[续2]七、特殊的初始化语义 从具有虚基类的类继承的类对初始化进行特殊处理:在虚基类中,由最低层派生类的构造函数初始化虚基类。在ZooAnimal示例中,使用常规规则将导致Bear 类和 Raccoon类都试图初始化Panda对象的ZooAnimal类部分。 虽然由最低层派生类初始化虚基类,但是任何直接或间接继承虚基类的类一般也必须为该基类提供自己的初始化式。...
分类:
编程语言 时间:
2014-06-01 16:18:16
阅读次数:
353
用于大型程序的工具--多重继承与虚继承引言: 大多数应用程序使用单个基类的公用继承,但是,在某些情况下,单继承是不够用的,因为可能无法为问题域建模,或者会对模型带来不必要的复杂性。 在这些情况下,多重继承可以更直接地为应用程序建模。多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其所有父类的属性。一、多重继承1、定义多个类 为了支持多重继承,扩充派生列表:class Bear : p...
分类:
编程语言 时间:
2014-06-01 15:59:01
阅读次数:
393
用于大型程序的工具--多重继承与虚继承[续1]四、多重继承下的类作用域 成员函数中使用的名字和查找首先在函数本身进行,如果不能在本地找到名字,就继续在本类中查找,然后依次查找每个基类。在多重继承下,查找同时检察所有的基类继承子树 —— 在我们的例子中,并行查找 Endangered子树和Bear/ZooAnimal子树。如果在多个子树中找到该名字,则那个名字的使用必须显式指定使用哪个基类;否则,该...
分类:
编程语言 时间:
2014-06-01 14:44:35
阅读次数:
367