6、C++ const的用法详解

(1)const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可 能的改动。

(2)const修饰基本数据类型:

a、const修饰一般常量及数组

int const a = 100;   const int a = 100;  // 两者等价 
int const arr [3] = {1,2,3};  const int arr [3] = {1,2,3};//与上面等价 

b、对于这些基本的数据类型,修饰符const可以用在类型说明符前,也可以用在类型说明符后,其结果是一样的。

(3)const修饰指针(*)

char *p = "hello"; // 非const指针,  // 非const数据
const char *p = "hello"; // 非const指针  // const数据    指针常量  不能通过指针去修改他的值,可以修改他的指向   但是可以通过变量名进行修改
char * const p = "hello";   // const指针,// 非const数据   常量指针   不能修改指针的指向,可以修改其值
char * const p = "hello";   // const指针,// 非const数据 
  • const 修饰全局变量:不能通过地址去改变这个值

  • const 修饰局部变量: const int a = 10; 不能通过变量名a去改变变量的值,但是可以通过地址去改变其值。

(4)const修饰函数参数 : 不能修改其中的参数(常成员函数 )

        函数重载,运行同名,同参数,不同属性的函数:

void print(){ .... }
void print const(){ ..... }

**const函数的规则:**[C++ const的用法详解_c++ const用法-CSDN博客]https://blog.csdn.net/weixin_56935264/article/details/125760242?ops_request_misc=%7B%22request%5Fid%22%3A%22169492496816800197063965%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=169492496816800197063965&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-125760242-null-null.14

(1) const 对象只能访问const 成员函数,非const 的对象可以访问任何成员函数,包括const 成员函数。

(2)如果**函数名、参数、返回值都相同**的$\textcolor{Yellow}{const成员函数和非const成员函数}$是可以构成**重载**.

(3)那么const对象调用const成员函数,非const对象默认调用非const的成员函数。

(4)**const成员函数可以访问所有成员变量,但是只能访问const的成员函数。**

(5)非const成员函数,可以访问任何成员,包括const成员成员函数。

(6)const成员函数不能修改任何的成员变量,除非变量用mutable修饰。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值