c++ 学习记录 const

参考:关于C++ const 的全面总结

const 作用:

1、可以定义const常量
2、便于进行类型检查
3、可以保护被修饰的东西
4、可以很方便地进行参数的调整和修改
5、可以节省空间,避免不必要的内存分配
6、 提高了效率

const 修饰普通类型的变量

代码格式:

//两种形式无区别
//要初始化
const int a = 1;
int const b = 2;

此时变量a的值不可改变

const 修饰指针变量

1、只有一个const时 如果const位于*左侧,表示指针所致的数据是常量,不能通过指针修改数据,
指针是变量,可以指向其他内存

const int * p = #

2、只有一个const时 如果const位于*右侧 表示指针是常量,不能指向其他内存单元,可以修改指针指向的数据

int * const p = #

3、如果*左右都有const 指针和数据都不可改

int const * const p = #

在参数传递中使用CONST

1、传递过来的参数在函数内不可以改变(无意义,因为Var本身就是形参)

void function(const int Var); //传递的是副本,副本的值不可改变(副本的值不影响原来的值)

2、参数指针所指内容为常量不可变

void function(const char* Var); //const在*左边 即指向的地址不变

3、参数指针本身为常量不可变(也无意义,因为char* Var也是形参)

void function(char* const Var);//const在*右边 即指向的地址的内容不变

4、参数为引用,增加效率同时不能修改引用对象的任何成员

void function(const Class& Var); //引用参数在函数内不可以改变
void function(const TYPE& Var); //引用参数在函数内为常量不可变

函数返回值使用const

const修饰函数返回值其实用的并不是很多,它的含义和const修饰普通变量以及指针的含义基本相同。

//这个其实无意义,因为参数返回本身就是赋值。
const int fun1() 

//调用时 const int *pValue = fun2(); 
//我们可以把fun2()看作成一个变量,即指针内容不可变。
const int * fun2() 

//调用时 int * const pValue = fun2(); 
//我们可以把fun3()看作成一个变量,即指针本身不可变。
int* const fun3()   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值