C++ Tempatet之模板模型
2013-07-25 16:36
176 查看
模板一共有三种类型:
1.第一种包含模型:包含模型是讲模板的定义和声明都放在头文件里(注:一般我们写的代码是将声明放在头文件里,实现放在cpp里,防止产生两份实现代码)
缺点:包含模型会增加代码的量。如果在不同文件里有两个相同的类型调用则会产生两份相同实现,C++编译器可以自己处理这个问题。
2.手动实例化
示例:template void print_type<double>(double const& x);
缺点:造成混乱
3.分离模型
分离模型是在声明和定义处都使用export关键字即可,用的较少。
1.第一种包含模型:包含模型是讲模板的定义和声明都放在头文件里(注:一般我们写的代码是将声明放在头文件里,实现放在cpp里,防止产生两份实现代码)
缺点:包含模型会增加代码的量。如果在不同文件里有两个相同的类型调用则会产生两份相同实现,C++编译器可以自己处理这个问题。
2.手动实例化
示例:template void print_type<double>(double const& x);
缺点:造成混乱
3.分离模型
分离模型是在声明和定义处都使用export关键字即可,用的较少。
相关文章推荐
- C++中的模板的两种编译模型
- 关于模板编程的一个例子 来自深度探索c++对象模型
- c++模板之声明定义分离编译模型
- 深入探讨vc下C++模板编译模型
- C++模板编译模型
- 深入探讨vc下C++模板编译模型
- 透彻理解C++模板包含模型
- c++模板编译模型
- C++模板编译模型
- 深入探讨vc下C++模板编译模型
- 透彻理解c++模板包含模型(转)
- 深入探讨vc下C++模板编译模型
- C++模板编译模型:包含编译模型
- C++基于该模型模板包括节目外实例
- C++ - 对象模型之 模板、异常、RTTI的实现
- 深入探讨vc下C++模板编译模型
- C++模板编译模型:包含编译模型
- C++学习笔记60——模板编译模型
- 用C++模板实现事件模型
- c++模板之声明定义分离编译模型