const关键字

1.const修饰变量

const代替#defineconst有类型,#define无类型,const节省空间,避免不必要的内存分配。

const定义的常量在程序运行的过程中,只有一份拷贝,#define 定义的常量在内存中有若干个拷贝。编译器一般不会为const常量分配内存,而是将它们保存在符号表中,这使得它成为一个在编译期间的常量。

Int a=100;

Const int c=300;//修饰c为只读

Const int* p1=&a;//const 修饰int* a的值不可以改变;

Int * const p1=&a;//const 修饰p1,p1的值不可以更改;

Int const* p1=&a;//const修饰*p1,a的值不可以改变。

当对const修饰的变量取地址时,编译器会为变量分配内存。

int main()

{

const int b = 5;

int *p = NULL;

p =const_cast<int*> (&b);

*p = 555;

cout << *p << endl;//输出555

cout << b << endl;//输出b

system("pause");

return 0;

}

2.const修饰函数形参

void fun(cosnt int a);//告诉编译器,a在函数体内不可以修改。

3.const修饰类成员函数,使得成员函数成为常函数

class A

{

public

int fun()cosnt//调用函数fun时不能修改类中的数据。

{

}

}

4.const修饰函数的返回值

const int *funconst int a

{

return &a;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值