08 November 2023

C++ 核心指南目录

“Use header files for all declarations used in multiple source files”

理由

可维护性。可读性。

坏例子

// bar.cpp:
void bar() { cout << "bar\n"; }

// foo.cpp:
extern void bar();
void foo() { bar(); }

bar 的维护者无法找到所有 bar 用到的定义,在修改代码的时候会遇到麻烦。 bar 的用户无法知道用到的接口是否是完整的且正确的。最后,可能会在链接的时候收到错误信息。

强化

  • 标记不在头文件,而是在其他源文件中的声明。