[c++学习]const用法总结篇

本文详细总结了C++中的const用法,包括const修饰基本类型变量、const指针、const与函数参数、const与#define的区别以及const在常量对象、常量引用和指针中的应用。强调const的主要作用是增强程序的健壮性,防止不必要的修改。同时,文中还探讨了const对象的内存管理和const在函数调用中的选择,以及const与引用结合使用时的注意事项和可能的优化问题。
摘要由CSDN通过智能技术生成

const:类型限定符,可以指定所修饰对象,不改变内容和在内存的存储地址.

1>修饰基本类型变量

如:const int x=10;//值和地址都不能变

再赋值.x=77;//错误

2>const指针

指针可用const修饰,可放在类型前,类型后,或是两边都放.

  a>常量指针.对int* 用类型限定符const:

      如:int number=10;

              const int * p=&number;//p是一个常量指针,它所指的值不能通过p来修改.但可改变所指对象.

  写成 int const *p也行吧?

  补充上:常量的地址赋给常量指针

   如:const int num=77;

               const int * p=#//与上同,不过所指的是一个常量,它所指的对象也是可以修改的.

  b>指针常量,这个指针的值不能改,即不能指向别的变量.要注意初始化.

   如:int num=1;

               int * const p=#//所指对象的值可变,但是指针的值不能变.

  c>指向常量的指针常量.两边都放

   如:const int * const p=#//都固定

3>const与函数

  将const指针类型参数传入函数,表示函数不能改变传入的值

  如:int lookup(const char* ar,const int len,const char key){}

const 与#define,用const可以像变量一样处理,可以在调试器中按名称引用,分配空间,具有类型.而#define是在编译前由预处理器处理,调试器不引用宏名,不分配空间,没有类型.

  /////////////////////////////

const主要是为了程序的健壮型,减少程序出错. 最基本的用法: const int a=100; b的内容不变,b只能是100也就是声明一个int类型的常量(#define b =100) int const b=100; //和上面作用一样  const指针和引用一般用在函数的参数中 int* m = &a; //出错,常量只能用常指针 int c= 1;const int*pc = &c;//常指针可指向常量  const int* pa = &a; //指针指向的内容为常量(就是b的值不变) int const *a = &b; //指针指向的内容为常量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值