const的用法小结
来源:互联网 发布:显微镜图像分析软件 编辑:程序博客网 时间:2024/05/20 03:38
C++语言中,const类型限定符用于限定某标识符在定义域范围内为常量,所限定的常量、函数参数等成为只读的,不能被修改。
在C语言编程序时,通常用宏来定义常量,如
#define MaxSize 100;
用C++语言编程序时,通常用const来定义常量,如
const int maxSize = 100;
const的用途主要有以下四点:
1: 当const类型说明符用于说明变量时,其作用是冻结所定义的变量在定义域范围内为常量。C++要求用const说明的变量必须在定义时初始化赋值,以后不允许再有赋值操作。
A: const说明的常量和同类型的变量具有单向兼容性。即,const说明的常量可赋给变量,但反之则不允许。如:
void main(void)
{
int x = 4; // 定义为变量
const int y = 5; // 定义为常量
?
x = y; // 给变量x赋值合法
//y = x; // 给常量y赋值出错
}
B: const说明的形参可被同类型的非const实参初始化。
#include <iostream.h>
void F1(const int x)
{
cout << x << endl;
}
void F2( int x)
{
cout << x << endl;
}
void main(void)
{
const int y = 20;
int x = 5;
F1(x); // 合法
F2(y); // 亦合法
}
2: 当const类型说明符用于说明指针类型变量时,有三种情况:
A: 冻结所定义的指针变量所指向的数据. 如:const int *p1 = &x; // 定义指针所指向的量为常量,
p1 = &y; // 修改指针地址操作合法
*p1 = 4; // 修改指针地址内的值操作非法
B: 冻结指针的地址值 如:int * const p2 = &x; // 定义指针自身为常量
p2 = &y; // 修改指针地址操作非法
*p2 = 3; // 修改指针地址内的值操作合法
C: 冻结指针变量所指向的数据和指针的地址值。如:const int * const p3 = &x; // 指针所指向的量和指针自身为常量
p3 = &y; //修改指针地址操作非法
*p3 = 3; // 修改指针地址内的值操作非法
3:当const类型说明符用于函数的形式参数时,其作用是冻结实际参数在该函数内为常量,即该参数不允许在函数内被修改。形参可以是const
int x或const int &rx。
4:当const类型说明符用于类的成员函数时,其作用是不允许该成员函数修改对象的数据成员。
常量必须在定义时就初始化
- const的用法小结
- CONST的用法小结:
- C++关键字Const的用法小结
- C++ 关键字 const 的用法小结
- const的用法小结(转)
- 关于const用法的一些小结
- [转载]Const用法小结
- Const用法小结
- Const用法小结
- Const用法小结[转载]
- Const用法小结
- Const用法小结
- Const用法小结
- const 用法小结
- Const用法小结
- const用法小结
- const用法小结
- const用法小结
- linux下启动关闭jboss脚本
- ajax(3)之js+css基础
- Html控件与Web控件的区别与用途
- 透过汇编另眼看世界之DLL导出函数调用
- 个人blog全面迁移
- const的用法小结
- WPF Window's style
- iis ftp被动模式
- 瑞星程序员自曝2007内核内幕
- 关于div
- sql-server sql语句主键自增
- 在网上找到了小时候看过的《森林大帝》
- tomcat启动的时候报“warn no appenders could be found for logger ...."错的原因
- [AutoCAD2008新功能介绍3]在AutoCAD中使用.NET来添加一个新的缩放比例