栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 引用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 引用

目录

1.引用

类型名+&+标识符

 例:int &a=b

1.1.引用必须初始化

1.2.引用数组

1.3.const+&:

1.4.引用和指针的区别:

1.5.引用的注意事项


1.引用

类型名+&+标识符

 例:int &a=b

1.1.引用必须初始化

定义一般变量时:

(1)声明:声明变量类型和名字

(2)定义:根据类型分配内存地址空间

(3) 初始化:将初始值拷贝到变量的内存地址空间中(因此变量的声明,定义和初始化可以分开,不需要一次完成)

定义引用类型时:

将引用直接绑定到初始化对象

因此定义引用类型时必须有初始值对象(必须为左值)

1.2.引用数组

数组的三个例外:

int ar[5]={1,2,3,4,5}

  1. sizeof有type 和num,sizeof(ar)=20

   2.   数组的地址时,要有type和num。

    例:int(*p)[5]=&ar

          sizeof(p)=4

          sizeof(*p)=20

   3.引用时要有类型和大小。int(&br)[5]=ar

注:1.int &ar[5]错误,因为引用不需要空间,需要加括号

       2.引用可以是对指针的引用

        int &*p  error

1.3.const+&:

s1只能读取不能修改

S2可以修改,但不能指向别的地址,别名也不可以

const+&是万能引用,可以引用字面常量,常量,变量,若只有&,没有const是不可以定义字面常量的

1.4.引用和指针的区别:

从语法规则上讲

  1. 指针变量时存储某个 实例(变量或对象)的地址

     引用时某个实例的别名

  1. 程序为指针变量分配内存空间,不为引用分配
  2. 指针在使用是需要解引用要加*,引用可以直接使用
  3. 指针变量的值可以发生改变 ,之后无法改变
  4. 指针变量作为形参时要测试它的合法性,引用不需要
  5. sizeof得到的是指针变量的大小。引用得到的是变量大小
  6. 理论上指针的级别没有限制,但引用只有一级
  7. ++引用与++指针的效果不一样
  8. 对引用的操作直接反应到所引用的实体上
  9. 不可以对函数中的局部变量或对象以引用或者指针方式返回

汇编层面:mov eax, 10h 直接

                mov [eax],10h 间接

1.5.引用的注意事项

1.左值引用不能引用一个常量

2.引用必须初始化,没有空引用

3.没有引用的引用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号