跟我一起学C++之从C到C++(const限定符)
2016-06-05 11:36
316 查看
const限定符
1.用const给字面常量起个名字(标识符),这个标识符就称为标识符常量;因为标识符常量的声明和使用形式很像变量,所以也称常变量2.定义的一般形式:
(1) const 数据类型 常量名=常量值;
(2)数据类型 const 常量名=常量值;
3.例如:const float PI=3.14159f;
4.注意事项:
(1)常变量在定义时必须初始化;
(2)常变量初始化之后,不允许再被赋值;
代码示例:
//main.cpp #include <iostream> using namespace std;//引入命名空间 int main(void) { //const int a; //1.Error,常量必须初始化 const int a = 100; //a = 200; //2.Error,常量不能重新被赋值 int b = 22; const int * p; //const在*左边,表示*p为常量,经由*p不能更改指针所指向的内容 p = &b; //*p = 200; //2.Error,常量不能重新被赋值 //int * const p2; //1.Error,p2为常量,常量必须初始化 int * const p2 = &b; //const在*右边,表示p2为常量 //int c =100; //p2 = &c; //2.Error,常量不能重新被赋值 *p2 = 200; cout<<b<<endl; cout<<*p<<endl; return 0; }
错误用法编译错误提示信息:
1. const int a;
error C2734: “a”: 如果不是外部的,则必须初始化常量对象
2. const int a = 100;a = 200;
error C3892: “a”: 不能给常量赋值
相关文章推荐
- C++第七次实验——项目2
- C语言之define
- poj之旅——3258C++
- 跟我一起学C++之从C到C++(bool类型)
- 完美cvCreateVideoWriter写出AVI文件为空的问题
- C++第7次实验
- 非系统消息的使用方法及SendMessage()和PostMessage()的区别
- C++,笔试面试,使用C++编程,实现万年历
- C/C++,笔试面试,多种方法求100以内的所有素数
- 使用C语言编写程序,求解有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个序列的前20项
- C语言头文件的写作方法和说明
- 通讯录小程序(C/C++)C语言练习小程序
- 笔试,面试,C/C++,判断单链表是否带环?若带环,求环长度,求环入口点(两种方法)
- <笔试><面试>C/C++单链表相关(4)判断两链表是否相交,求交点(链表不带环/可能带环)
- <笔试><面试>C/C++单链表(最综合)最全工程从建立到相关函数实现
- C/C++为什么要短路求值?
- VS2015报错:值不能为null参数名:solutionDirectory(visual studio 2015环境下运行C/C++)
- C语言格式控制符
- C++模板详解
- C语言的字符串(篇章之一)