C++入门:引用,别名

本文详细探讨了C++中指针和引用的概念,包括乘号运算、地址运算、引用类型、函数参数传递、常引用与右值引用的区别,以及它们在变量指针数组和嵌套引用中的使用。重点讲解了两者在语法、内存分配、修改能力及使用场景上的异同。
摘要由CSDN通过智能技术生成

1.*:乘号//变量式;单位运算符//解引用指针;声明//类型 * 标识符

2.&:位与//a&b;

                取地址符//&a 右操作数,没有左操作数;

                int &x = a//引用(别名),不存在别名的别名(二级引用)

                不能定义所谓的空引用,必须初始化

         当传出的值为空,函数不可调用,算是一层安全控制

 

3.int const& c = a;//c 不能改变,&修饰的是const c,

        int &const x = a;//这里&修饰的是的const,被程序忽略,所以x的值可以改变

        当常变量:用第②种方式

       当普通变量:①②两种方法都可以

4.函数传参时

              常引用:const int &y;(万能引用)//可以引用一般变量,常变量,字面常量

                底层引用的是tmp

              引用:int &y

        右值引用:

      左值:可以取地址

         右值:无法取地址

         右值引用:只能引用字面常量,不能引用左值

        int &&r= 10;//int tmp = 10; int &r = tmp;//与常性引用相似 const int &b= 20

//常性引用
int tmp = 10;
const int &z = tmp;

                    &&表示引用右值

        不同:字面常量的引用不能改变值的大小

                        右值引用改变的是tmp的值

6.可以引用:变量 指针 数组

7.对于指针的引用: int *&ps = ip;

8.指针和引用的区别

①语法规则:指针变量存放某个实例的地址;

          引用是某个实例变量的别名

②程序为指针碧昂量分配的村村区域;而不为引用分配内存区域

③解引用是指针是使用时要在前面加”*”;引用可以直接食用

④指针变量的值可以发生改变,存储不同实例的地址;

  引用在定义是就被初始化,之后不能在改变

⑤指针变量的值可以为空NULL;没有空引用

⑥指针变量作为形参时需要测试是否为NULL;引用不需要判空

⑦sizeof:指针变量大小;引用的变量的大小

⑧理论上指针的级数没有限制;引用只能有一级

⑨++指针:指向下一个存储单元;

++引用:对实例的值进行改变

9.指针和引用的相同点:不得以指针或引用的形式返回局部变量

       除非变量的生存期与函数无关(静态变量)

10.引用的使用:

   ①不需要使用引用:形参不需要影响实参的值(内置类型)

   ②需要使用引用:自制类型(struct);形参需要影响甚至改变实参的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值