说明符和限定符
来源:互联网 发布:年轻人牙膏知乎 编辑:程序博客网 时间:2024/05/16 12:09
有些被称为存储说明符或cv-限定符的C++关键字提供了其他有关存储的信息。
存储说明符:
1)auto(在C++中不再是说明符)
2)register
3)static
4)extern
5)thread local(C++11新增的)
6)mutable
1 cv-限定符
下面就是cv限定符
1)const
2)volatile
关键字volatile表明,即使程序代码没有对内存单元进行修改,其值也可能发生变化。该关键字的作用就是为了改善编译器的优化能力。
2 mutable
可以用它来指出,即使结构(或类)变量为const,其某个成员也可以被修改。例如:
3再谈const
在C++中,const限定符对默认存储类型稍有影响。在默认情况下全局变量的链接性为外部的,但const全局变量的链接性为内部的。也就是说,在C++看来,全局const定义就像是有了static说明符一样。
C++修改了常量类型的规则,让程序员更轻松。例如,假设将一组常量放在头文件中,并在同一个程序的多个文件中使用该头文件。那么,预处理器将头文件的内容包含到每个源文件中后,所有的源文件都将包含类似下面这样的定义:
const int fingers=10;
const char *warning="wak";
如果全局const声明的链接性像常规变量那样是外部的,则根据单定义规则,这将出错。也就是说,只能有一个文件可以包含前面的声明,而其他文件必须使用extern关键字来提供引用。另外,只有未使用extern关键字的声明才能进行初始化:
extern const int fingers;
extern const char *warning;
因此,需要为某个文件使用一组定义,而其他文件使用另一组声明。然而,由于外部定义的const数据的链接性为内部的,因此可以在所有文件中使用相同的声明。
内部链接性意味着,每个文件都有自己的一组常量,而不是所有文件共享一组常量。每个定义都是其所属文件私有的,这就是能够将常量定义放在头文件中的原因。这样,只要在两个源代码文件中包括同一头文件,则它们将获得同一组常量。
0 0
- 说明符和限定符
- 存储说明符和限定符
- C++说明符和CV限定符
- const限定符和constexpr说明符--C++11
- const限定符和constexpr说明符--C++11
- 变量存储说明符,限定符,类型转换
- 存储说明符或cv-限定符
- The New C++ -- 变量(4. const限定符和constexpr说明符 )
- C++关键字-const与volatile限定说明符
- 类型说明符和位运算符笔记
- 指针和const限定符
- 指针和const限定符
- 指针和const 限定符
- 指针和const限定符
- const限定符和指针
- 指针和const限定符
- 指针和const限定符
- 指针和const限定符
- Qt Creator 重要的快捷操作
- Flex和Servlet结合上传文件报错(一)
- 百度API 应用实例之音乐搜索
- wzplayer for ios 针对(mms)优化版本V1.0
- 常见的计算机网络面试题目
- 说明符和限定符
- C++ 程序员自信心曲线图
- android项目中spinner设置默认值
- S3C2440 的 中断 异常 工作模式
- 骗我 可以 请迩注意次数
- 多屏幕适配梳理
- asp.net文本框设置
- 面向对象程序设计的基本原则
- OC基础—结构体、字符串