C和C++中const的作用?

在C语言中,主要用于定义变量为常类型,以及修饰函数参数和返回值,在C++中还可以修饰函数的定义,定义类的成员函数。常类型的变量或对象的值是不能更新的,常量必须要初始化。

主要作用如下:

a,定义常量具有不可变形。如const int MAX = 100; int Array[MAX];

b,进行类型检查。fun(const int i),编译器会知道i是一个常量,不能修改。

c,保护被修饰的东西,防止意外的修改,增强了程序的健壮性。在上例中,i = 5;编译器会报错。

d,节省空间,避免不必要的内存分配。与define相比,有了类型检查,而且只分配一次内存,以后不再分配,而define定义,则是用到一次分配一次。

e,提高了程序的效率,没有存储与读内存的操作。

使用条件:

1,修饰一般常量,int const x =2 或者 const int x =2.

2,  修饰常数组,int const a[3]={0,1,2}或者 const int a[3] = {0,1,2}.

3,  修饰常对象,class A; const A a; A const a;定义常对象,也要初始化,并且该对象不能再被更新。

4,修饰常指针,const int *A;//const 修饰指向的对象,A可变,*A不可变;和int const *A;作用一样。int *const A;//修饰指针A,A不可变,*A可变。const int *const A ;//指针A和A指向的对象都不可变。

5,修饰常引用,const int &V;//该引用所引用的对象不能更新。

6,修饰函数的常参数,void fun (const int var);var 在函数体中无法改变。

7,修饰函数返回值,返回值不可被改变。const int fun1();

8,  修饰类的成员函数,class ClassName{public: int func()const},不能修改类的对象和属性。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值