关闭

【C++基础】——const关键字

标签: C++C++ const
666人阅读 评论(0) 收藏 举报
分类:

本文介绍C++中的关键字const

const用来控制C++中的变量是否可以变化

  1. const与基本数据类型
  2. const与指针类型
  3. const与引用
1.const与基本数据类型

int a=2;//变量
//变量名: a
//存储地址:&a
//存储内容:2
加上const之后,变量就变成了常量

const int a=2;//常量
//变量名:a
//存储地址:&a
//存储内容:2

2.const与指针类型

数据类型前面加const和后面加const完全等价

const int *p=NULL;//const写在数据类型前面   这两种写法完全等价
int const *p=NULL;//const写在数据类型后面
* 后面加const
int *const p=NULL;

数据类型前面* 后面,和数据类型后面*后面完全等价

const int *const p=NULL;     这两种完全等价
int const *const p=NULL;


Example:

int a=3,b=4;
const int *p=&a;
p=&b;//允许执行
*p=5;//不允许执行,const修饰*p,*p的值不能被修改
变量名           存储地址           存储内容

a                      &a                      3

p                      &p                     &a

Example:

int a=2,b=3;
int *const p=&a;
p=&b;//不允许,const在*的后面,意味着修饰p,p只能指向一个地址,不能被修改,用p再指向其他的地址时会报错。

变量名           存储地址           存储内容

a                      &a                      2

p                      &p                     &a(被修饰,不能被修改)


Example:

int a=4,b=5;
const int *const p=&a;
p=&b;//不允许
*p=6;//不允许,前后都加了const时,p,*p都不能被修改

变量名           存储地址           存储内容

a                      &a                      4(被修饰,不能被修改

p                      &p                     &a(被修饰,不能被修改


3.const与引用Example:

int a=3;
const int &b=a;
x=4;//允许
b=5;//不允许,b作为a的别名,前面嫁了修饰符const,b不能被修改







0
0
查看评论

const关键字总结

1.const 对象 const int a = 5; 或 int const a = 5; 说明: 1)const对象由const关键字修饰。const对象的值一旦定义就不能修改,因此,const对象必须在定义时初始化。 2)const关键字和类型名称无顺序要求,可以将const写在int前...
  • hulin0229
  • hulin0229
  • 2014-03-27 23:18
  • 691

C/C++基础:const关键字总结

const算是一个比较常用的关键字,这里总结一下它的用法,以备后面复习整理使用。总的来说,const可以修饰变量(基本数据类型、指针、引用、对象)、函数(普通函数、成员函数)这两大类。修饰变量修饰基本数据类型 不允许更改变量的值,如const int a = 3,若更改a的值会报错 对比宏来说,co...
  • Move_now
  • Move_now
  • 2017-10-14 15:59
  • 122

C++ : const关键字

const关键字并不是表示常量,而是表示“内容不可修改”。const修饰的变量并不一定是值保持不变的,可能由编译器检测不到的外部条件改变,const可以和volatile同时修饰一个变量。         const与#define相比较是面试中常见的问题。...
  • ExcaliburXK
  • ExcaliburXK
  • 2012-03-20 19:16
  • 347

C++中const关键字的使用总结

const是不变的意思,在C++程序中,经常用const来限制对一个对象的操作:   1.1 const变量 例如: const int n=3;   则这个变量的值不能改变,即不能对变量赋值。   1...
  • user_longling
  • user_longling
  • 2014-04-03 12:13
  • 1160

C++ const关键字

const与普通变量 普通的变量 例如, int x = 3; 变量名是x, 变量地址是&x, 变量值是3; const变量 例如, const int x = 3; 变量名是x, 变量地址是&x, 变量值是3,但是变量值不能改变; const与指针类型 const ...
  • u013546334
  • u013546334
  • 2015-10-06 11:23
  • 148

c++ const关键字

先忽略类型名(编译器解析的时候也是忽略类型名),我们看 const离哪个近。“近水楼台先得月”,离谁近就修饰谁。 const int * p ;//const 修饰*p,p 是指针,*p是指针指向的对象,不可变 int const * p;//const修饰*p,p 是指针,*p是指针指向的对象...
  • a893244853
  • a893244853
  • 2013-06-27 08:38
  • 423

c++ Const关键字

转自:http://blog.csdn.net/Eric_Jo/article/details/4138548 C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。 Const 是C++中常用的类...
  • hao_rh
  • hao_rh
  • 2017-06-15 10:12
  • 80

[C++基础]令人头疼的const关键字

//****************************整型常量************************** const int a=1;//必须赋初始值 int const b=2;//必须赋初始值;完全等价于 const int b=2; //const in...
  • ouyangshima
  • ouyangshima
  • 2012-11-26 13:22
  • 747

C++基础知识汇总

C++面试题——基础概念篇 唐璐 http://blog.csdn.net/worldwindjp/         面试C++程序员的时候一般都是3板斧,先是基础问答,然后一顿虚函数、虚函数表、纯虚函数、抽象类、虚函数和析构函数、虚函数...
  • weiyuefei
  • weiyuefei
  • 2016-08-01 20:59
  • 1102

C++基础试题,面试题,基础知识点

转自:http://blog.sina.com.cn/s/blog_a8b2435901013nw3.html 1,关于动态申请内存 答:内存分配方式三种: (1)从静态存储区域分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。 全局变量,sta...
  • qq_24378389
  • qq_24378389
  • 2017-09-12 16:33
  • 499
    个人资料
      • 访问:2148823次
      • 积分:6155
      • 等级:
      • 排名:第1666名
      • 原创:95篇
      • 转载:1篇
      • 译文:5篇
      • 评论:468条
    HomePage
    博客专栏
    最新评论