百度云及其他网盘下载地址:点我 编辑推荐 《C++ Primer中文版(第4版)》对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使《C++ Primer中文版(第4版)》成为C++初学者的指南;对于中高级程序员,《C++ Primer中文版(第4版)》也是不可或缺的参考书。第 ...
分类:
编程语言 时间:
2019-02-16 20:48:14
阅读次数:
265
大规模编程对程序设计语言的要求更高,大规模程序的特殊要求包括:在独立开发的子系统之间协同处理错误的能力,使用各种库进行协同开发的能力,对比较复杂的应用概念建模的能力。 异常处理 异常机制使我们能够将问题的检测与解决过程分离开。 C++通过抛出一个表达式来引发一个异常,throw Exception( ...
分类:
编程语言 时间:
2018-11-24 11:38:42
阅读次数:
179
18.1 异常对象的类型: (a):range_error (b):range_error throw p将抛出一个exception类型的异常 18.2 分配的动态内存将无法释放 答案:发生异常,所在块之前的临时变量皆会被销毁,V会调用vector类的析构函数进行销毁,并释放相关内存,P指针会被销 ...
分类:
其他好文 时间:
2017-11-07 13:17:39
阅读次数:
184
用于大型程序的工具
--命名空间[续2]
五、类、命名空间和作用域
名字的可见性穿过任意嵌套作用域,直到引入名字的块的末尾。
对命名空间内部使用的名字的查找遵循常规C++查找规则:当查找名字的时候,通过外围作用域外查找。对命名空间内部使用的名字而言,外围作用域可能是一个或多个嵌套的命名空间,最终以全包围的全局命名空间结束。只考虑已经在使用点之前声明的名字,而...
分类:
编程语言 时间:
2016-05-12 16:55:17
阅读次数:
173
用于大型程序的工具
--命名空间[续3]
六、重载与命名空间
正如我们所见,每个命名空间维持自己的作用域,因此,作为两个不同命名空间的成员的函数不能互相重载。但是,给定命名空间可以包含一组重载函数成员。
1、候选函数与命名空间
命名空间对函数匹配有两个影响。一个影响是明显的:using声明或using 指示可以将函数加到候选集合。另一个...
分类:
编程语言 时间:
2016-05-12 16:53:48
阅读次数:
236
用于大型程序的工具
--异常处理
引言:
C++语言包含的一些特征在问题比较复杂,非个人所能管理时最为有用。如:异常处理、命名空间和多重继承。
相对于小的程序员团队所能开发的系统需求而言,大规模编程[往往涉及数千万行代码]对程序设计语言的要求更高。大规模应用程序往往具有下列特殊要求:
1.更严格的正常运转时间以及更健壮的错误检测和错误处理。错误处理经常...
分类:
编程语言 时间:
2016-05-12 15:36:08
阅读次数:
268
用于大型程序的工具
--异常处理[续3]
九、auto_ptr类[接上]
5、auto_ptr对象的复制和赋值是破坏性操作
auto_ptr和内置指针对待复制和赋值有非常关键的区别。当复制auto_ptr对象或者将它的值赋给其他auto_ptr对象的时候,将基础对象的所有权从原来的auto_ptr对象转给副本,原来的auto_ptr对象重置为未绑定状态。...
分类:
编程语言 时间:
2016-05-12 14:58:54
阅读次数:
147
用于大型程序的工具
--异常处理[续1]
四、重新抛出
有可能单个catch不能完全处理一个异常。在进行了一些校正行动之后,catch可能确定该异常必须由函数调用链中更上层的函数来处理,catch可以重新抛出将异常传递给函数调用链中更上层的函数。重新抛出是后面不跟类型或表达式的一个throw:
throw;
空throw语...
分类:
编程语言 时间:
2016-05-12 14:57:11
阅读次数:
257
用于大型程序的工具
--异常处理[续2]
八、自动资源释放
考虑下面函数:
void f()
{
vector v;
string s;
while (cin >> s)
{
v.push_back(s);
}
string *p = new string[v.size()];...
分类:
编程语言 时间:
2016-05-12 14:52:27
阅读次数:
253
用于大型程序的工具
--命名空间[续1]
二、嵌套命名空间
一个嵌套命名空间即是一个嵌套作用域 —— 其作用域嵌套在包含它的命名空间内部。嵌套命名空间中的名字遵循常规规则:外围命名空间中声明的名字被嵌套命名空间中同一名字的声明所屏蔽。嵌套命名空间内部定义的名字局部于该命名空间。外围命名空间之外的代码只能通过限定名引用嵌套命名空间中的名字。
嵌套命名空间可以改...
分类:
编程语言 时间:
2016-05-12 14:44:44
阅读次数:
230