C++类模板中的友元函数的声明和定义分别放在哪里

时间:2022-12-17 19:42:58

        前面提到了模板的声明和定义推荐都放在头文件中,那么该类中的友元函数的声明和定义该放在哪里呢?

        因为友元函数并不属于这个类, 按照习惯,我们一般把声明放在类中,而把定义放在类的外面。但对于类模板来说,这样就出问题了。很多编译器并不支持将友元函数的定义放在类的外面,会编译出错(一般是友元函数未定义)。故推荐按“inline”的形式定义类模板的友元函数。