gpt4 book ai didi

c++ - 在哪里/如何定义模板

转载 作者:太空狗 更新时间:2023-10-29 20:01:16 27 4
gpt4 key购买 nike

关于用 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
}

另一种方式?我似乎偶然发现了关于这个主题的一些争议。所以;选择什么路径?

最佳答案

这完全是风格问题。话虽如此:

  1. 选择一种方式并坚持下去——要么全部内联,要么全部外出,要么根据某种规则混合
  2. 我个人使用 3 行规则。如果模板中的方法主体超过 3 行,我将其移到外面。

没有真正的理由不包括所有内联定义(它们无论如何都是从编译器 POV 内联的),但是,许多人认为将它们分开会更干净,并允许类定义更具可读性。

关于c++ - 在哪里/如何定义模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2231041/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com