关于引用和const

see22 see22 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
int i = 10;
int *pi = &i;
--------------------
int *&ri = pi; //ok

-----------------------
int *&ri2 = &i;

//编译器的提示:error C2440: “初始化” : 无法从“int *__w64 ”转换为
//“int *& ”,不是对“const”的引用不能绑定到非 lvalue

---------------------------
int *const &ri3 = &i; //ok,加上const就对了


为什么呢?

...全文

相关推荐

深入学习const和引用

本文详细介绍了const 和 引用的基础知识,对C++编程非常有益。

mengchen120812

const常量和引用.cpp

翁恺教授视频《C++面向对象程序设计》源码

学编程的闹钟

c++ const引用与非const引用介绍

const引用是指向const对象的引用。 代码如下: const int i = 10; const int &ref = i; 可以读取ref,但不能修改。这样做是有意义的,因为i本身就不可修改,当然也不能通过ref来修改了。所以也就有将const变量赋值给非const引用是非法的。 代码如下: int &ref1 = i; // error: nonconst reference to a const object 非const引用是指向非const类型变量的引用。 const引用可以初始化为不同类型的对象或者右值(如字面值常量),但非const引用不可以。 代码如下: //

weixin_38522552

浅析C++的引用与const指针与各种传递方式

浅析C++的引用与const指针与各种传递方式 首先我们知道 const int *p 与 int const *p 是一样的,即 *p 是常量;而 int * const p 跟上面是不一样的,即 p 是常量;我们知道引用只是一个别名,与变量共享存储空间,并且必须在定义的时候初始化,而且不能再成为别的变量的别名,这让我们想到什么呢,貌似跟  int * const p   的性质很像。 其实引用的底层就是用const指针来实现的。下面举个小例子: #include <iostream> using namespace std; void swap(int &x, int &y) {

weixin_38530846

C++中const与指针、引用的分析

C++中函数的参数相比C语言中的函数参数要复杂的多,其中主要的原因是C++中引入了引用以及const限定符。这两个对象的引入,使得C++中的函数参数变得异常的复杂多变,每一种类型都具有比较适合的使用范围。 本文详细的分析const与指针、引用在一起存在情况下的情况分析。

weixin_38723683
评论 20
收藏 已收藏
分享
返回顶部
see22
C语言 70,039 成员 243,237 内容