ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C/C++const修饰彻底搞懂

2022-02-09 14:04:40  阅读:162  来源: 互联网

标签:const 变量 指向 int C++ 修饰 搞懂 指针


一、 定义:const是constant的缩写,表示常量,也就是不变的量,在定义时即赋值。

二、修饰类型情况详解

1. 修饰普通类型

const int a=5;//定义时便要初始化

a=3;//错误 

2. 修饰指针变量。这种应用是容易搞错的地方,关键之处在于辨别const修饰的是指针变量,是指针指向的内容,还是两者都修饰了。

这里提供一个辨别方法,当我们写代码时,比如:int *p=3;,p表示指针变量,*p表示指针指向的内容,这个学习过c/c++的伙伴们都能理解。

那么就看const是修饰p还是*p即可以确定是指针不变还是内容不变。也即const是位于*的左边还是右边,左边则修饰指向的内容,右边则修饰指针变量本身。

故而如,const int *p表示指向的内容不变,指针可变;int* const p表示指针不变,指向的内容可变。

那么两者都修饰则是: const int* const p=3;

3. const作为函数的参数变量传递,参考1、2两点即可,const修饰返回值也是一样的。

4. const修饰类成员函数,放在函数尾部时表示该函数不能改变类的成员变量值。

5. 注意类成员函数中const不能和static同时出现,因为const是针对对象的具体实例而言,对象没有实例化则不存在const的修饰意义,而static独立与对象存在,其通过类域直接调用。

学之,录之,享之!!!

标签:const,变量,指向,int,C++,修饰,搞懂,指针
来源: https://blog.csdn.net/Jeff_ROS/article/details/122839182

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有