【发布时间】:2011-05-10 16:21:15
【问题描述】:
C++ 中的一个定义规则到底是怎么说的?我能找到的唯一值得信赖的事件是在The C++ Programming Language, 3rd。编辑,第 9.2.3 页。除此以外,还有没有官方的规则定义?
【问题讨论】:
标签: c++ definition
C++ 中的一个定义规则到底是怎么说的?我能找到的唯一值得信赖的事件是在The C++ Programming Language, 3rd。编辑,第 9.2.3 页。除此以外,还有没有官方的规则定义?
【问题讨论】:
标签: c++ definition
真理在标准中(3.2 一个定义规则):
任何翻译单元不得包含更多 比任何变量的一个定义, 函数、类类型、枚举类型 或模板。
[...]
每个程序都应包含完全 每个非内联的一个定义 中使用的函数或对象 该程序;无需诊断。 定义可以显式出现 在程序中,可以在 标准或用户定义的库,或 (在适当的时候)它是隐含的 定义(见 12.1、12.4 和 12.8)。一个 内联函数应定义在 它所在的每个翻译单元 用过。
【讨论】: