【问题标题】:How to declare inline functions explicitly?如何显式声明内联函数?
【发布时间】:2014-03-27 19:46:25
【问题描述】:

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

// 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 。所以这是一个重复的问题。对此感到抱歉。

【问题讨论】:

  • 是的,我觉得它看起来很眼熟。但是,我的问题是针对 C 语言的。
  • 那里的答案就在这里吗?

标签: c++ inline declaration


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你不需要两者。你可以在实现中删除 inline 关键字,在声明函数时保留 inline 关键字...与 virtual 关键字相同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      相关资源
      最近更新 更多