摘要: 1.模板技术是泛型编程的基础.(【C++】模板简述(一):模板的引入) 2.模板被编译两次,因而给分离编译造成一些麻烦.(【C++】模板简述(二):函数模板、【C++】模板简述(四):模板为什么不支持分离编译?) 3.在模板的参数推演中,编译器根据不同的类型,生成不同的实例代码,而不会进行转型.编译 阅读全文
posted @ 2017-04-18 19:32 C/C++专题 阅读(316) 评论(0) 推荐(1) 编辑
摘要: 功能 类型萃取,在STL中用到的比较多,用于判断一个变量是否为POD类型. 简述来说可以用来判断出某个变量是内置类型还是自定义类型. 通过类型萃取,萃取到变量类型,对不同变量进行不同处理,可以提升程序效率. 应用场景 比如我们实现顺序表,在对顺序表进行扩容时,就靠重新开辟内存、拷贝对象. 拷贝对象时 阅读全文
posted @ 2017-04-18 19:20 C/C++专题 阅读(4101) 评论(0) 推荐(2) 编辑
摘要: 上文简述了类模板相关功能,本文主要简述为什么模板不支持分离编译? 在C++中,为了一个项目的规范,我们通常把代码归为三类:声明文件、实现文件、测试文件. 比如,我要用C++实现一个链表,那么就会创建这3个文件: LinkList.h //链表的相关声明 LinkList.cpp //链表的实现代码 阅读全文
posted @ 2017-04-18 18:35 C/C++专题 阅读(860) 评论(0) 推荐(1) 编辑
摘要: 上文简述了C++模板中的函数模板的格式、实例、形参、重载、特化及参数推演,本文主要介绍类模板. 一、类模板格式 类模板也是C++中模板的一种,其格式如下: 例如:我个人模拟实现的Vector的声明 二、模板类的实例化 只要有不同的类型,编译器就会实例化出一个对应的类,这点与函数模板非常相似.例如: 阅读全文
posted @ 2017-04-18 18:09 C/C++专题 阅读(4620) 评论(0) 推荐(1) 编辑