我们不需要显式声明内联函数,因为它们的实现是在头文件中定义的。但出于组织目的,我想这样做。例如
// 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。所以这是一个重复的问题。对不起。
答案 0 :(得分:3)
你不需要两者。您可以在实现中删除内联关键字,并在声明函数时保留内联关键字...它与虚拟关键字
相同答案 1 :(得分:3)
您需要将其包含在声明,定义或两者中。
但请注意,定义必须在使用该函数的每个编译单元中都可见。