C++模板实践指南:组织与使用模板的策略
1. 引言
模板代码与普通代码有所不同,在某些方面,模板介于宏和普通(非模板)声明之间。这种特性不仅影响着我们使用模板编写算法和数据结构的方式,还对涉及模板的程序的日常表达和分析产生影响。接下来,我们将探讨几种实用的模板组织和使用方法。
2. 包含模型
2.1 链接器错误
大多数C和C++程序员通常按以下方式组织非模板代码:
- 类和其他类型完全放在头文件中,通常文件名扩展名为 .hpp (或 .H 、 .h 、 .hh 、 .hxx )。
- 对于全局变量和(非内联)函数,头文件中只包含声明,定义则放在所谓的 .C 文件中,通常文件名扩展名为 .cpp (或 .C 、 .c 、 .cc 、 .cxx )。
这种方式效果很好,它使所需的类型定义在整个程序中易于获取,并避免了链接器对变量和函数的重复定义错误。然而,对于模板代码,初学者常遇到链接器错误。以下是一个示例:
// basics/myfirst.hpp
#ifndef MYFIRST_HPP
#define MYFIRST_HPP
// declaration of template
template <typ
超级会员免费看
订阅专栏 解锁全文
842

被折叠的 条评论
为什么被折叠?



