C++快速入门 (三) 常量, 字面值常量 及作用域
来源:互联网 发布:淘宝网内衣买家秀 编辑:程序博客网 时间:2024/06/06 03:29
一 常量
(1). 声明常量
C++ 使用关键字 coust 声明常量
- const 变量类型 变量名 = 变量值
如: const int x = 10;
(2). 声明和使用全局常量
使用关键字 extern const 来声明和使用全局常量
classA.cpp
extern const int x = 101;
-----------------
main.cpp
extern const int te;
int _tmain(int argc, _TCHAR* argv[])
{
cout << te << endl; // return 101
}
(3). 编译时才检查 const
C++是静态语言,既 使用前需要进行编译,只有编译通过了才能生成可执行的程序,而 const机制 其实也只是在编译时进行检查,如果发现代码中有对 声明为 const 的类型进行操作时,就会报错. 但编译并生成汇编代码后 const 和 非const 声明的类型 存储方式是一样,也可以被修改.
二 字面值常量
(1). 并不陌生的字面值常量
顾名思义字面值常量就是书写时就已经确定其值并只能以其值称呼的常量,如 int i = 10 中 的 10,这里只需简单了解下,后边还会讨论
三 作用域
(1). 什么是作用域
作用域是相对于某个对象来说的,既 对象可以访问的作用范围 就叫做作用域
(2). 判断对象的作用域
通常情况下作用域是指 对象所处花括号内的范围, 出花括号时(出作用域) ,在该作用域中使用一般方式创建的变量或常量将被清除,如
if (true)
{
int x = 10;
}
const << x << endl; //error 变量x已经因为出作用域而被清除
(3). 嵌套作用域中存在同名变量时
在 C++中 一个作用域和在其内部的另一个作用域同时声明了同名变量时,内部作用域将使用该域声明的变量,而隐藏其上层作用域的同名变量。(Java中这种情况是不允许的,编译时会报错)
int i = 100, sum = 0;
for (int i = 0; i != 10; i++)
{
cout << i << endl; // 外部作用域声明的 i =100 已经被隐藏
sum += i;
}
cout << i << " | " << sum << endl; // return: 100 , 45
(4). 范围解析运算符::
范围解析运算符 用于引用 某个类型所包含的其他类型,既
- 类型 :: 内部类型
当 范围解析运算符前部类型为空时,会指向全局
#include <iostream>
using namespace std;
int ioz = 10086;
int _tmain (int argc, _TCHAR* argv [])
{
{
int ioz = 100;
cout << ioz << endl; //100
cout << ::ioz << endl; //10086
}
}
上例中定义了一个未命名作用域, 其作用和一般作用域相同,在一些代码库中会碰到这种写法,
(5). 文件作用域
在文件的最上层作用域 定义类型时使用 static 关键字声明,该类型 的作用域为文件作用域,既 只有当前文件内可以访问。
-
<原创文章 转载请注明出处 http://blog.csdn.net/meiwm 谢谢>
作者:meiwm
出处:http://blog.csdn.net/meiwm
本文为原创,本文版权归作者所有。欢迎转载,但请务必保留此段声明,且在文章页面明显位置给出原文连接,谢谢合作。
-
- C++快速入门 (三) 常量, 字面值常量 及作用域
- C/C++中的字面值常量、常量以及变量
- c++pri 2/22--字面值常量
- C语言中的常量和字面值
- C++Primer读书笔记之字面值常量
- C/C++中的字面值常量
- 字面值常量
- 2.2 字面值常量
- 2.2 字面值常量
- 字面值常量
- c++ 字面值常量
- 字面值常量
- 字面值常量
- C++字面值常量
- 字面值常量
- C++字面值常量
- C++字面值常量
- c++字面值常量
- realloc函数
- python 浅谈
- 第三部分 核心动画的层--第五章 层的变换
- JavaSE第五十二讲:HashSet 与HashMap源代码深度剖析
- 第六章 层的滤镜
- C++快速入门 (三) 常量, 字面值常量 及作用域
- html基础学习---mark
- 通过 WebSphere MQ 遥测传输 (MQTT) 将 Android 手机引入物联网
- 第七章 视频层
- 如何安装JDK环境
- 《COM技术内幕》读书笔记——第1章 组件
- ubunt IntelliJ IDE 安装
- 第八章 OpenGL层
- 门诊软件(集药房管理、划价收费、电子病历、电子处方、诊疗卡、财务为一体)