内联函数的前向声明
我有一个头文件,将包含大量(30+)内联函数。
我没有让读者滚动或搜索内联函数的定义(实现),而是希望有一个前向声明部分,它声明函数声明以及描述函数的注释。 本节将允许读者了解如何使用函数或查找函数,而无需向下滚动到实现。
此外,我希望读者养成使用函数的习惯,而不必看到他们的实现。
独立函数的前向声明的语法是什么?
{这适用于C99和C ++}
仅供参考,我使用IAR Workbench C编译器设置使用C99。
与非内联函数没有什么不同:
void func(); // "forward" declaration // ... inline void func() // definition { // impl }
通常,用于“隐藏”库使用者定义的模式是将声明放在一个标题( ah
)中,将定义放在第二个标题( a_def.h
)中,然后使用前者#include
后者(包含保护省略)为简洁起见):
// ah void func(); #include "a_def.h" // a_def.h inline void func() { // impl }
库消费者只需#include
。
你不需要“转发声明”它(一个通常只适用于类型的术语,因为我们通常将它们定义在我们首先声明它们的相同位置)。
就像正常一样宣布它:
#include void foo(); // Declaration inline void foo() { // Defining declaration std::cout << "!"; } // --------------------------------------------- int main() { foo(); // Output: foo() }