摘要: 1.异常规格说明 (1)问题:如何判断一个函数是否会抛出异常,以及抛出哪些异常? (2)异常规格说明 C++提供语法用于声明函数所抛出的异常 异常声明作为函数声明的修饰符,写在参数列表后面 (3)异常规格说明的意义: 提示函数的调用者必须做好异常处理的准备 提示函数的维护者不要抛出其它异常 异常规格 阅读全文
posted @ 2019-01-04 21:00 梦心之魂 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 1.异常的最终处理 (1)问题:如果在main函数中抛出异常会发生什么?如果异常不处理,最后会传到哪里? (2)下面的代码的输出什么? 编程实验:异常的最终处理? #include <iostream> using namespace std; class Test { public: Test() 阅读全文
posted @ 2019-01-04 20:59 梦心之魂 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 1. “经典”C++语言 (1)本课程学习的是经典C++语言 (2)C++98/03标准在实际工程中的常用特性(C++ 98 标准、C++ 03 标准、C++ 11 标准、C++ 14 标准、C++ 17 标准) (3)大多数企业的产品开发中需要使用的C++技能 2. 未来学习之路 (1)横向学习( 阅读全文
posted @ 2019-01-04 20:58 梦心之魂 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1. 遗失的关键字:mutable (1)mutable关键字 ①mutable是为了突破const函数的限制而设计的 ②mutable成员变量将永远处于可改变的状态 ③mutable在实际的项目开发中被严禁滥用 (2)深入分析mutable ①mutable成员变量破坏了只读对象的内部状态 ②co 阅读全文
posted @ 2019-01-04 20:49 梦心之魂 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1. typename的前世今生 (1)定义模板时使用class的历史原因 ①早期的C++直接复用class关键字来定义模板 ②但是泛型编程针对的不只是类类型 ③class关键字的复用使得代码出现二义性 (2)typename诞生的直接诱因 ①自定义类类型内部的嵌套类型 ②不同类中的同一个标识符可能 阅读全文
posted @ 2019-01-04 20:31 梦心之魂 阅读(145) 评论(0) 推荐(0) 编辑