社区
C++ 语言
帖子详情
const 与 引用的结合的问题
chelp
2011-10-02 06:48:00
const int ival =1024;
const int *&pi=&ival;//不正确
const int *const &pi=&ival;//正确
想问问原因?请指教
...全文
74
2
打赏
收藏
const 与 引用的结合的问题
const int ival =1024; const int *&pi=&ival;//不正确 const int *const &pi=&ival;//正确 想问问原因?请指教
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chelp
2011-10-02
打赏
举报
回复
谢谢,分给你了啊
iamnobody
2011-10-02
打赏
举报
回复
const int ival =1024;
const int *&pi=&ival;//不正确
const int *const &pi=&ival;//正确
他的原理和下面的相似:
int *p1 = 0;
int *const p2 = 0;
int *const *pi = p1;//不正确
int *const *pi = p2;//正确
下面解释你的疑问:
const int *&pi=&ival;//不正确
&ival 代表一个左值的地址。是一个地址常量。
而 const int* &pi 的意思是 &pi是一个普通的引用。他的引用类型是const int* ;
也就是一个指针类型的引用。
一个普通的引用不能用常量(不是左值)来初始化。因为你可以通过修改pi的内容,来修改他引用的指针;
const int *const &pi=&ival;//正确
这里第二个const表表,pi的内容不能被修改。所以可以用一个地址常量来初始化。
C++
引用
与
const
的
结合
用法
引用
与
const
的
结合
用法
引用
的基本概念: (1)
引用
其实就是给变量其一个别名 (2)其语法形式:变量类型 &别名=原名 例:int &b=a (3)
引用
必须进行初始化,int&b是不对的 (4)
引用
一旦初始化之后就不可更改了 (5)
引用
的传递:传递有值传递和地址传递。
引用
传递就是地址传递,通过
引用
参数产生的效果同按照地址传递是一样的 (6)不要反悔局部变量的
引用
。函数的调用可以作为左值(如果函数的返回值是
引用
,这个函数调用可以作为左值) (7)
引用
的本质:在C++内部实现是一个指
const
与
引用
const
与
引用
的
结合
用法
C++:
const
在C与C++中区别、
const
与指针
结合
应用、C++
引用
、一级指针
const
引用
结合
使用
文章目录一、
const
在C与C++中区别二、
const
与一级指针
结合
应用2.1
const
与一级指针
结合
分析2.2
const
和指针的类型转换公式三、
const
与二级指针
结合
应用四、C++左值
引用
与右值
引用
五、
const
、指针、
引用
结合
使用 一、
const
在C与C++中区别 1.我们最简单的cosnt理解为:
const
修饰的变量不能够再作为左值,可以初始化,初始化完了之后值不能被修改。 什么是cons...
const
和指针,
引用
结合
的讲解
const
指针
引用
const
char*, char
const
*
C++中
const
关键字和
引用
,指针的
结合
使用,顶层
const
和底层
const
C++中
const
关键字和
引用
,指针的
结合
使用,顶层
const
和底层
const
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章