社区
C++ 语言
帖子详情
const 与 引用的结合的问题
chelp
2011-10-02 06:48:00
const int ival =1024;
const int *&pi=&ival;//不正确
const int *const &pi=&ival;//正确
想问问原因?请指教
...全文
108
2
打赏
收藏
const 与 引用的结合的问题
const int ival =1024; const int *&pi=&ival;//不正确 const int *const &pi=&ival;//正确 想问问原因?请指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
和
引用
本文聚焦C++中指针、
引用
与
const
的相关知识。介绍了普通指针、指向常量的指针、常量指针和指向常量的常量指针的特性,还阐述了
引用
的初始化、绑定规则及悬垂
引用
问题
,同时说明了
引用
与
const
的
结合
使用,并给出了应用案例。
不允许为非
const
引用
创建临时对象 (关于
引用
)
本文解析了C++中非
const
引用
与临时变量
结合
使用时遇到的
问题
,并阐述了为何将
引用
改为
const
引用
可以解决该
问题
。通过具体示例说明了函数内部如何处理临时变量的
引用
。
[C++面试]
const
相关面试题
该博客聚焦C++面试中
const
相关
问题
。介绍了非
const
引用
与右值的绑定规则,指针、
引用
与
const
的
结合
情况,包括合法与非法的写法。还阐述了
const
对象调用方法的规则,指针和
引用
声明的类型匹配规则,以及普通指针不能指向常量等关键知识。
error: binding reference of type int& to
const
int discards qualifiers
本文探讨了C++中
引用
与常量
结合
使用时的初始化
问题
,解释了为什么非
const
引用
不能绑定到
const
变量上,而
const
引用
可以。同时,讨论了如何正确地使用
引用
以避免编译错误。
C++基于范围for循环类型推导:从initializer_list到auto与
const
引用
本文深入解析C++基于范围的for循环中循环变量的类型推导机制,重点围绕initializer_list的常量性、auto推导规则(忽略
引用
但保留底层
const
)、
const
引用
避免拷贝等核心
问题
展开。
结合
标准容器与实际函数场景,对比不同声明方式(auto、
const
auto&、auto&)的语义差异与性能影响,并指出常见误区如误改initializer_list元素、意外拷贝及生命周期
问题
,强调只读遍历时应优先使用
const
auto&。
C++ 语言
65,212
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章