const在c和c++中的用法

C中const的用法总结起来主要分为以下两种:

 1、 在定义变量时使用(由于const常量在定义后不能被修改,所以在定义时一定要进行初始化操作):

a)  最简单的用法,说明变量为一个常变量(在以下例子里,int 和const的先后顺序可以改变的,这无所谓):

 const int a=100; 
 int const b=100;

b)  说明指针为指向常数的指针,即指针本身的值是可以改变的:

const int *a=&b;

c)  说明指针本身的值不可改变,但指向的内容可改变:
 

const int *a=&b;

d)  说明指针为指向常数的常指针,即指针本身与指针指向的内容都不可改变:

const int * const a = &b;

e)  说明引用为常数引用,即不能改变引用的值:

const int &a=100;

 2,、 在定义函数时使用:

a) 作为参数使用,说明函数体内是不能修改该参数的:

void func(const int a);

b) 作为返回值使用,说明函数的返回值是不能被修改的:

const int func();

c) 在函数中使用const,情况与定义变量的情况基本一致: 

 

C++中区别于C的const用法主要分为以下两种:

1, const类成员

       const类成员在对象构造期间允许被初始化并且在以后不允许被改变。const类成员和一般的const 变量有所不同。const类成员是对应于每个对象而言,它在对象构造期间被初始化,在这个对象的生存周期中不允许被改变。

2, const 成员函数

       const 成员函数不允许在此函数体内对此函数对应的类的所有成员变量进行修改,这样可以提高程序的健壮性。Const一般放在函数体后:

 functionType  fun()  const;

3,const在C和C++中最大的不同是,在C中,const默认具有外部链接,而C++中则是内部链接。所以当你只在定义const常量的文件中使用该常量时,c++不给你的const常量分配空间,此时const int c = 0;相当于#define c 0;而在C中,它会给每个const 常量分配内存空间。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值