如何明确声明内联函数?

时间:2014-03-27 19:46:25

标签: c++ inline declaration

我们不需要显式声明内联函数,因为它们的实现是在头文件中定义的。但出于组织目的,我想这样做。例如

// Group declaration firstly for readability.
inline void fooA();
inline void fooB();
inline void fooC();
...

// Implementations
inline void fooA()
{
   ...
}

inline void fooB()
{
   ...
}

inline void fooC()
{
   ...
}

我的问题是:我可以在声明和实施中同时使用inline个关键字,还是可以删除其中一个?

我在那里找到了答案Forward declaration of inline functions。所以这是一个重复的问题。对不起。

2 个答案:

答案 0 :(得分:3)

你不需要两者。您可以在实现中删除内联关键字,并在声明函数时保留内联关键字...它与虚拟关键字

相同

答案 1 :(得分:3)

您需要将其包含在声明,定义或两者中。

但请注意,定义必须在使用该函数的每个编译单元中都可见。