c++ - 内联函数的前向声明

标签 c++ c inline c99 forward-declaration

我有一个包含大量 (30+) 内联函数的头文件。

我不想让读者滚动或搜索内联函数的定义(实现),而是希望有一个前向声明部分来说明函数声明以及描述函数的注释。本节将允许读者了解如何使用函数或查找函数,而无需向下滚动到实现。

另外,我希望读者养成使用函数的习惯,而不必看它们的实现。

独立函数前向声明的语法是什么?

{这适用于 C99 和 C++}

仅供引用,我正在使用 IAR Workbench C 编译器设置为使用 C99。

最佳答案

与非内联函数没有什么不同:

void func();       // "forward" declaration

// ...

inline void func() // definition
{
    // impl
}

通常用于向库使用者“隐藏”定义的模式是将声明放在一个 header (a.h) 中,将定义放在第二个 header (a_def.h) 中,然后将前者放在 #include 中。后者(为简洁起见省略了包含保护):

// a.h
void func();
#include "a_def.h"

// a_def.h
inline void func()
{
    // impl
}

图书馆使用者只需#include <a.h> .

关于c++ - 内联函数的前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9317473/

相关文章:

c++ - 如何从输入文件中接受图表

c - 为什么 scanf 对大 float 输入错误?

c - 使用 armcc 与前面的对象相反的字节顺序

linux - 管道文件的 Bash 内联版本到 bluetoothctl

android - Android 和 iOS 中的 C/C++ 标准库在哪里?

c++ - opencv中拜耳模式代码的含义是什么

c - 为什么 return 不退出 xv6 中的进程?

javascript - React 中的内联 CSS - 如何设置多个 li 元素的样式

c++ - gcc 使用专门的定义内联通用模板函数

c++ - 如何在 C++ 中处理完整的 CircularBuffer