声明
声明引入新名称为程序。 本节包含的主题包括说明的以下使用。
声明 功能 作为 inline 或 virtual。
将名称与常数 (枚举 声明)。
声明新的 类型 (class、 struct或 union 声明)。
为类型 (typedef 声明) 指定同义词。
指定 命名空间。
除了引入了新的名称之外,声明指定标识符如何将由编译器解释。 声明自动不保留存储与该标识符。 定义保留存储。
备注
大多数声明也是定义。不定义的声明包括说明,而无需该成员列表的类和函数声明,而无需函数的主体。
标题可以为一:
非阶级化说明符 [] [] ;公告列表
函数定义
链接规范
模板规范
显式实例化模板
显式模板专用化
命名空间定义
命名空间别名定义
使用声明
使用指令
asm 定义
声明的 非阶级化说明符 元素显示为选项;但是,在类类型或枚举的声明只能省略。
在 公告列表 元素的声明包含声明的名称。 虽然 公告列表 显示为选项,则在函数声明或定义只能省略。
备注
函数的声明通常称为 原型。原型提供有关参数的类型信息和函数的返回类型。此外,原型使编译器执行正确的转换,并提供了类型安全。
声明在 范围内发生。 范围控件名称声明和定义的对象的持续时间的可见性,因此,如果有的话)。 有关范围规则方式的更多信息与声明交互,请参见 范围。
,除非它包含在 存储类说明符,描述的 extern 存储类说明符对象声明也是定义。 ,除非它是原型,函数声明也是定义。 没有一种定义的函数体,原型是函数头。 对象的定义导致存储和相应的初始化的分发该对象的。
其他材料
有关 函数定义的信息,请参见 C++函数定义。
有关 链接规范的信息,请参见 链接规范。
有关 模板规范的信息, 显式实例化模板 和 显式模板专用化,请参见 模板。
有关 命名空间定义 和 命名空间别名定义的信息,请参见 命名空间(C++)。
有关 asm 定义的信息,请参见 __asm。