小编Ben*_*Ben的帖子

在类的内部和外部定义的模板类的成员函数之间的差异

在类声明中定义模板类的成员函数与外部之间是否存在差异?

内部定义:

template <typename T>
class A
{
public:
    void method()
    {
        //...
    }
};
Run Code Online (Sandbox Code Playgroud)

在外面定义:

template <typename T>
class B
{
public:
    void method();
};

template <typename T>
void B<T>::method()
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

对于非模板类,这是内联和非内联方法之间的区别.模板类也是如此吗?

我的大多数同事的默认设置是在类中提供定义,但我总是更喜欢类外的定义.我的偏好是否合理?

编辑:请假设所有上述代码都在该类的头文件中提供.

c++ templates inline class

9
推荐指数
1
解决办法
2850
查看次数

标签 统计

c++ ×1

class ×1

inline ×1

templates ×1