2

我是 C++ 新手,开始像大多数人一样组织我的代码:在“头文件”和“源文件”中。

#pragma once在所有包含内联函数的头文件中使用。但我想知道是否有理由反对在每个头文件中简单地使用它?

4

1 回答 1

6

我在所有包含内联函数的头文件中使用了一次#pragma

这就是您不需要#pragma 一次的原因之一。对同一个内联函数有多个定义是正常和预期的。当多个翻译单元#include 相同的标题时,这是不可避免的,特别是对于模板函数。如果编译器实际上没有内联函数,链接器只会选择它找到的定义之一。您需要 #pragma once 以避免同一类型的多个定义。

于 2012-04-24T00:00:40.100 回答