摘要: 7.1.3 类型定义说明符1、包含声明说名符typedef的声明声明了一个可在稍后用于命名基本(3.9.1)或复合(3.9.2)类型的标识符。typedef说明符不可用于函数定义(8.4),并且只能和类型说明符结合以构成decl-specifier-seq。typedef-name:identifier通过typedef说明符声明的名字为类型定义名。在声明的作用域内,类型定义名在句法上等价于一个关键字;并且如第8章所示,它命名了标识符所关联的类型。因而,类型定义名总是另一种类型的同义词。与类声明(9.1)和枚举声明不同,类型定义名并不引入新的类型。例如:在typedef int MILES, 阅读全文
posted @ 2006-03-27 16:28 Goncely 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 7.1.2 函数说明符1、函数说明符只能用于函数声明。function-specifier:inlinevirtualexplicit2、具有inline说明符的函数声明(8.3.5,9.3,11.4)声明了一个内联函数。内联说明符指示编译器优先在调用点进行函数体的内联替换,而不是使用常规的函数调用机制。编译器并非一点要在调用点执行内联替换;然而,即使忽略了内联替换,仍必须遵守7.1.2所定义的有关内联函数的其他规则。3、在类定义内部进行的函数定义是内联函数。内联指示符不能出现在区块作用域内的函数声明中。(inline说明符不影响函数的链接属性。)4、内联函数必须在被调用的每一个翻译单元中具有 阅读全文
posted @ 2006-03-27 16:24 Goncely 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 7.1.1 存储类说明符1、存储类说明符包括:storage-class-specifier:autoregisterstaticexternmutable对于给定的decl-specifier-seq,至多只能有一个存储类说明符。如果一个存储类说明符出现在某个decl-specifier-seq中,那么这个decl-specifier-seq可以不包含typedef说明符,但声明的init-declarator-list不能为空(全局的匿名联合体类型除外,但它必须声明为静态类型(9.5))。存储类说明符作用于列表中的每一个init-declarator声明的名字,但对于其他说明符声明的名字无 阅读全文
posted @ 2006-03-27 16:18 Goncely 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 7.1 说明符1、用于声明的说明符包括:decl-specifier:storage-class-specifiertype-specifierfunction-specifierfriendtypedefdecl-specifier-seq:decl-specifier-seqopt decl-specifier2、最长的decl-specifiers序列被当作declaration的decl-specifier-seq。如下所示,这个序列应该是自相容。例如:typedef char* Pc;static Pc; // error: name missing此处,声明static Pc是非法 阅读全文
posted @ 2006-03-27 16:16 Goncely 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 7 声明1、声明用于对名字的解析方式进行说明,它具有如下语法形式:declaration-seq:declarationdeclaration-seq declarationdeclaration:block-declarationfunction-definitiontemplate-declarationexplicit-instantiationexplicit-specializationlinkage-specificationnamespace-definitionblock-declaration:simple-declarationasm-definitionnamespace 阅读全文
posted @ 2006-03-27 16:15 Goncely 阅读(215) 评论(0) 推荐(0) 编辑