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