
C++模板
eric_chan
这个作者很懒,什么都没留下…
展开
-
C++模板中声明和定义是否可以分开存放在.h和.cpp文件中
虽然我们遇到的绝大多数情况下,模板中函数的声明和定义都放在头文件中,但我想肯定有人和我一样,想知道是否可以分开存放。动手实验后,会发现有的可以,有的会报错,其实,这和编译器有关。 要弄清楚这个问题,首先要解决两个问题。 第一,为什么要把函数的声明放在头文件中,而定义放在.cpp文件中? 除了隐藏代码之外,如果将函数的定义也放入头文件中,那么每个include了这原创 2016-10-11 15:03:00 · 6591 阅读 · 0 评论 -
C++类模板中的友元函数的声明和定义分别放在哪里
前面提到了模板的声明和定义推荐都放在头文件中,那么该类中的友元函数的声明和定义该放在哪里呢? 因为友元函数并不属于这个类, 按照习惯,我们一般把声明放在类中,而把定义放在类的外面。但对于类模板来说,这样就出问题了。很多编译器并不支持将友元函数的定义放在类的外面,会编译出错(一般是友元函数未定义)。故推荐按“inline”的形式定义类模板的友元函数。原创 2016-10-14 18:36:06 · 10418 阅读 · 0 评论