随笔分类 -  C++进阶(含STL)

摘要:1)异常是一种程序控制机制,与函数机制独立和互补 函数是一种以栈结构展开的上下函数衔接的程序控制系统,异常是另一种控制结构,它依附于栈结构,却可以同时设置多个异常类型作为网捕条件,从而以类型匹配在栈机制中跳跃回馈. 2)异常设计目的: 栈机制是一种高度节律性控制机制,面向对象编程却要求对象之间有方向 阅读全文
posted @ 2018-10-07 16:01 gd_沐辰 阅读(854) 评论(0) 推荐(0) 编辑
摘要:一、类型转换名称和语法 1.C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a 2.C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 static_cast 静态类型转换。如int转换成char reinterpreter 阅读全文
posted @ 2018-10-07 15:39 gd_沐辰 阅读(234) 评论(0) 推荐(0) 编辑
摘要:特性: 1.从类模板实例化的每个模板类有自己的类模板数据成员,该模板类的所有对象共享一个static数据成员 2. 和非模板类的static数据成员一样,模板类的static数据成员也应该在文件范围定义和初始化 3.每个模板类有自己的类模板的static数据成员副本 原理图: 模板小结: 1.模板是 阅读全文
posted @ 2018-10-07 15:33 gd_沐辰 阅读(178) 评论(0) 推荐(0) 编辑
摘要:一、所有的类模板函数写在类的内部和写在类的外部,在一个cpp中 1.构造函数,没有问题; 2.普通函数,没有问题; 3.友元函数:用友元函数重载 << >> friend ostream& operator<< <T> (ostream &out, Complex<T> &c3) ; 友元函数:友元 阅读全文
posted @ 2018-10-07 15:29 gd_沐辰 阅读(672) 评论(0) 推荐(0) 编辑
摘要:为什么需要类模板? 类模板与函数模板的定义和使用类似,我已经进行了介绍。 有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类: 作用: 1.类模板用于实现类所需数据的类型参数化 2.类模板在表示如数组、表、图等数据结构显得特别重要,这些数据结构的表示和算法不受所包含的元 阅读全文
posted @ 2018-10-07 15:22 gd_沐辰 阅读(210) 评论(0) 推荐(0) 编辑
摘要:思考:为什么函数模板可以和函数重载放在一块。C++编译器是如何提供函数模板机制的? 一、编译器编译原理 什么是gcc gcc(GNU C Compiler)编译器的作者是Richard Stallman,也是GNU项目的奠基者。 什么是gcc:gcc是GNU Compiler Collection的 阅读全文
posted @ 2018-10-07 15:08 gd_沐辰 阅读(1417) 评论(0) 推荐(0) 编辑
摘要:一、函数模板做函数参数 二、函数模板遇上函数重载 函数模板和普通函数区别结论: 1.函数模板不允许自动类型转化 2.普通函数能够进行自动类型转换 函数模板和普通函数在一起,调用规则: 1 函数模板可以像普通函数一样被重载 2 C++编译器优先考虑普通函数 3 如果函数模板可以产生一个更好的匹配,那么 阅读全文
posted @ 2018-10-07 15:02 gd_沐辰 阅读(1592) 评论(0) 推荐(0) 编辑
摘要:为什么要有函数模板? 需求:写n个函数,交换char类型、int类型、double类型变量的值。 案例: 函数模板语法 函数模板定义形式 template < 类型形式参数表 > 类型形式参数的形式为: typename T1 , typename T2 , …… , typename Tn 或 c 阅读全文
posted @ 2018-10-07 14:59 gd_沐辰 阅读(200) 评论(0) 推荐(0) 编辑