命题1. 在C++ 中 const T a 与 T const a 是一样的, 表示a是一个T类型的常量 。
测试:
文章插图
一、 形参定义为引用类型的常量
在函数传参时,形参若定义为 const T& x , 则表示实参是一个引用类型 , 并且无法在这个函数中更改x的值 。由命题1知,它等价于 T const& x。
在不同的书中可能会有不同的写法:
文章插图
文章插图
文章插图
测试:
文章插图
文章插图
文章插图
文章插图
二、指向常量的指针与指针类型的常量
指向常量的指针定义为 const T *p , 表示 p是指向常量的指针,p也可以指向变量,但是通过p只能访问所指地址的值,而不能修改 。
文章插图
文章插图
指针常量的定义为 T *const p = &x , 指针常量也是指针,它可以指向一个变量,也可以修改变量的值 , 但由于它本身是常量,所以p只能指向一个地址,不能在初始化之后再指向其他地址 。
文章插图
文章插图
文章插图
文章插图
注意: 1. const *T p 是错误的
文章插图
文章插图
2. T *const p 与 T const* p不等价,前者表示指针类型的常量,后者是指向常量的指针 。(根据命题1,T const* p == const T* p 都是指向常量的指针)
文章插图
这里要对A中的数据进行复制,为了避免修改A中的数据,将形参定义为指向常量的指针,在函数中只能访问A中的数据而不能修改 。
好吧,写到这里我自己都要晕了,拜托各位设计语言的大佬还有写书的大佬还有出题的大佬手下留情?。。。。?
【C++ 中指针常量、指向常量的指针、引用类型的常量】
推荐阅读
- C语言指针重点
- 原神2.8星光凝核怎么获取
- 原神柯莱突破材料是什么
- <六>指向类成员的指针
- 「Python实用秘技11」在Python中利用ItsDangerous快捷实现数据加密
- 第2-2-4章 常见组件与中台化-常用组件服务介绍-分布式ID-附Snowflake雪花算法的代码实现
- 中 学习ASP.NET Core Blazor编程系列十——路由
- 保卫萝卜4周赛8.9怎么过
- GT5如何设置中文(gta 2怎么调成中文)
- gtasanandreas怎么设置中文(gta中文官方教程)