是的,纯粹是历史问题。 很久以前这种前置声明可以让你的编译器只遍历一遍编译单元就完成编译。但现在机器性能都很好,一般也都推荐你一个文件不要搞太大。所以你多扫几遍也是能用的。 按照现在的性能来说,就相当于你每个代码文件都几个 G 到十几个 G 那么大,那你这编译器扫几遍你内存就爆炸了。