const关键字定义指针

来源:互联网 发布:天刀天香最美捏脸数据 编辑:程序博客网 时间:2024/06/03 08:43
------------------------------------------
1、 const int numm = 500;
1.1、int num = 1000;
2、 const int* a = &numm;
3、 int const *a = &numm;
4、 int * const a = #
5、 const int* const a = &numm;
------------------------------------------
如果const位于*左侧,则const修饰真正所指向的变量,即指针所指向的是一个常量;
反之,如果const位于*的右侧,那么const就是修饰指针本身,即指针本身是常量;


所以第2行和第3行表示指针所指向的内容是常量,所以不能*a = 99,即不能通过它对所指对象赋值
第4行表示这个指针本身是常量,所以不能a++,即不能再让它指向其他地方了
第5行则是完全限制a所指对象不能变,且不能再指向其它对象


上述是使用const修饰变量的
但是事实上在函数声明中使用const往往更加重要,
通常在函数声明中const可以用来修饰函数的返回值,或某个参数。


使用const关键字来修饰的函数参数的一般形式如下:


类型名 function(const Type* parameter); //const修饰函数引用参数
或者
类型名 function(const Type& parameter); //const修饰函数指针参数


如果形参为const Type* parameter,则不能对传递进来的指针所指向的内容进行修改
如果形参为const Type& parameter,则不能对传递进来的引用对象进行改变,即该方式保护了原对象本身


使用const修饰函数返回值的形式如下:


const Type function (参数表);
如果返回的是内部类型有无const都无所谓
但是对于非内部类型就不同了
一般在类成员函数的声明中可以使用const,且一般将其放在函数体后形式如下:


void function() const;

这种方式表示被修饰的成员函数将无法对成员变量进行修改


另外对于引用(&),上述规则同样适用

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机通知栏变成了搜索栏怎么办 小米手机账号密码忘了手机号怎么办 暑假工没签合同押工资了的怎么办 在日本雅虎拍卖网站买到假货怎么办 没有百度糯米账号但是买票了怎么办 拼多多商家版登陆密码忘记了怎么办 安卓下载的软件闪退怎么办 老司机影视院开通会员看不了怎么办 梦幻西游手游苹果手机打不开怎么办 拼多多笔订单被判定虚假发货怎么办 苹果手机微信接收不到信息怎么办 内衣穿32太小穿34空杯怎么办 楼下的把下水管道堵死了怎么办?? 微信绑定的手机号码已停机怎么办 绑定微信的手机号停机了怎么办验证 绑定手机停机微信怎么验证码怎么办 五菱之光雨刷开关手柄断了怎么办 快手家长控制模式密码忘了怎么办 有陌生人要求你拉他入群怎么办 手机一天接到多个陌生电话怎么办 阳光惠生活登录密码忘了怎么办 一个身份证注册了两个支付宝怎么办 买手办拆了发现坏了怎么办 六个月宝宝喝贝因美过敏怎么办 超市盘点少的货扣员工工资怎么办 孩子东西在学校被偷了怎么办 想退出却不舍的感情不知怎么办? 我被老板摸全身失眠有阴影怎么办 不知道绑定支付宝的微博账号怎么办 银行卡丢了补办后支付宝账户怎么办 未激活的银行卡被锁定了怎么办 手机网银上的钱被盗走了怎么办 支付宝支付失败银行卡扣了钱怎么办 小程序的二次验证码丢失怎么办 苹果手机不小心购买游戏币怎么办 在淘宝买的洗衣粉是假的怎么办 京东快递电话填错了怎么办 新买的手机卡被注册过支付宝怎么办 手机卡掉了别人登陆支付宝怎么办 手机卡注销了支付宝欠的钱怎么办 手机丢了支付宝和微信里的钱怎么办