关于用 C++ 定义模板的最佳实践是什么?
template <class T>
class A
{
private:
// stuff
public:
T DoMagic()
{
//method body
}
}
Or:
template <class T>
class A
{
private:
// stuff
public:
T DoMagic();
}
template <class T>
A::T DoMagic()
{
// magic
}
另一种方式? 我似乎偶然发现了关于这个主题的一些争议。 所以;选择什么路径?
最佳答案
这完全是风格问题。话虽如此:
- 选择一种方式并坚持下去——要么全部内联,要么全部外出,要么根据某种规则混合
- 我个人使用 3 行规则。如果模板中的方法主体超过 3 行,我将其移到外面。
没有真正的理由不包括所有内联定义(它们无论如何都是从编译器 POV 内联的),但是,许多人认为将它们分开会更干净,并允许类定义更具可读性。
关于c++ - 在哪里/如何定义模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2231041/