当前位置: 首页 > wzjs >正文

大学网站建设管理办法公司想制作网站吗

大学网站建设管理办法,公司想制作网站吗,泰安搜索引擎优化招聘,qq钓鱼网址制作手机版引用 1 前情提要2 概念剖析3 引用特性4 常引用5 使用场景5.1做参数5.2 做返回值 6 传值 传引用的效率比较7 引用与指针的差异Thanks♪(・ω・)ノ谢谢阅读下一篇文章见 1 前情提要 在C语言中,我们往往会遇见复杂的指针(如…

引用

  • 1 前情提要
  • 2 概念剖析
  • 3 引用特性
  • 4 常引用
  • 5 使用场景
    • 5.1做参数
    • 5.2 做返回值
  • 6 传值 传引用的效率比较
  • 7 引用与指针的差异
  • Thanks♪(・ω・)ノ谢谢阅读
  • 下一篇文章见

1 前情提要

在C语言中,我们往往会遇见复杂的指针(如数据结构之中的二级指针),理解起来比较复杂,C++对此加入了引用的概念。
指针和引用的大部分功能类似,是重叠的。
C++的引用可以在较为复杂的情况下进行一定替换,让代码变得更加简洁
但是不能完全替代指针!!!

2 概念剖析

C++中提出了一个新概念:引用
引用为对象起一个别名 ,与对象使用同一内存空间。
打个比方:孙悟空,又叫孙行者,又叫孙大圣,还叫齐天大圣。这个四个名字都指向同一个人。
在这里插入图片描述
我们来看一个样例:
在这里插入图片描述

3 引用特性

  1. 引用在定义时必须初始化
  2. 一个变量可以有多个引用
  3. 引用一旦引用一个实体,再不能引用其他实体(与指针相异)

必须初始化
在这里插入图片描述

这样写就会报错:
在这里插入图片描述

E0252 引用 变量 "b" 需要初始值设定项

对于引用的不可修改性,导致它不能完全替代指针。
就比如链表中,如果将前后指针换位引用,就会导致我们成功进行。
在这里插入图片描述

如图的双向链表就不能将中间的链表不能成功删除。因为无法改变引用指向。

4 常引用

int main() {const int a = 10;int& ra = a;   // 该语句编译时会出错,a为常量const int& ra = a;int& b = 10;  // 该语句编译时会出错,b为常量const int& b = 10;double d = 12.34;int& rd = d;   // 该语句编译时会出错,类型不同const int& rd = d;return 0;
}

引用变量是不可改变的左值

5 使用场景

5.1做参数

我们回想一下C语言的交换函数:

void swap(int* pa ,int* pb){int tmp = *pa;*pa = *pb;*pb = tmp;return;
}
int main(){int a = 2 ;int b = 8 ;swap(&a,&b);return 0;
}

而再C++中我们不再需要使用指针

void swap(int& a, int& b) {int tmp = a;a = b;b = tmp;return;
}
int main() {int a = 2;int b = 8;swap(a, b);return 0;
}

5.2 做返回值

作为一种数据类型,那一定可以作为返回值来写函数。如下:

int& Count()
{//...//延长生命周期,防止销毁static int n = 0;n++;// ...return n;
}

来看一段错误使用样例:

int& Add(int a, int b)
{int c = a + b;return c;
}
int main()
{int& ret = Add(1, 2);Add(3, 4);cout << "Add(1, 2) is :"<< ret <<endl;return 0;
}

来看看运行效果
在这里插入图片描述

为什么会出现这种情况???
在这里插入图片描述
总的来说,就是地址上储存的值被改变了。

6 传值 传引用的效率比较

以值作为参数或者返回值类型,在传参和返回期间,
函数不会直接传递实参或者将变量本身直接返回
而是传递实参或者返回变量的一份临时的拷贝
因此用值作为参数或者返回值类型,效率是非常低下的,尤其是当参数或者返回值类型非常大时,效率就更低。
而对于传引用操作相当于返回一个“指针”,
来看比较:
在这里插入图片描述
很明显的效率差异。

7 引用与指针的差异

引用和指针区别:
语法:

  1. 引用是别名,不开空间,指针是地址,需要开空间存地址
  2. 引用必须初始化,指针可以初始化也可以不初始化(最好初始化)
  3. 引用不能改变指向指针可以
  4. 引用相对更安全,没有空引用,但是有空指针,容易出现野指针,但是不容易出现野引用
  5. sizeof、++、解引用访问等方面的区别
  6. 多级指针,但是没有多级引用
  7. 访问实体方式不同,指针需要显式解引用引用编译器自己处理
  8. 引用比指针使用起来相对更安全

底层:
汇编层面上,没有引用,都是指针,引用编译后也转换成指针了

Thanks♪(・ω・)ノ谢谢阅读

下一篇文章见


文章转载自:

http://NsfYXIYp.jLnLr.cn
http://Ff3UJyl6.jLnLr.cn
http://QEgWNuv7.jLnLr.cn
http://18vmTqEY.jLnLr.cn
http://4vtmLgvV.jLnLr.cn
http://ImEmW1Ij.jLnLr.cn
http://75LhpWaU.jLnLr.cn
http://4gHRXc5D.jLnLr.cn
http://1BKoUGEw.jLnLr.cn
http://Tpu7Ywhe.jLnLr.cn
http://imgtwJPx.jLnLr.cn
http://VjukV40F.jLnLr.cn
http://pSXWNFQJ.jLnLr.cn
http://DAJLmduo.jLnLr.cn
http://SS7ulsqP.jLnLr.cn
http://OoKMZ0LM.jLnLr.cn
http://WouX6qYU.jLnLr.cn
http://Bp2z1Ycb.jLnLr.cn
http://5vBtCBnh.jLnLr.cn
http://ckvJRzg8.jLnLr.cn
http://duGhUh79.jLnLr.cn
http://29ZhIQ1G.jLnLr.cn
http://naCNDV25.jLnLr.cn
http://zUSfHoSN.jLnLr.cn
http://T0ZG3Q3g.jLnLr.cn
http://lQ3aJhl8.jLnLr.cn
http://hgmYEVWi.jLnLr.cn
http://IfptUybw.jLnLr.cn
http://ieymTcrP.jLnLr.cn
http://uW5i5LFt.jLnLr.cn
http://www.dtcms.com/wzjs/711693.html

相关文章:

  • 企业的网站推广意义在上面网站上可以做统计图
  • 膳食管理东莞网站建设技术支持男女做羞羞的事网站
  • 产品研发aso应用商店优化
  • 有哪个网站做正品港货海阳建设局网站
  • 网站营销活动页面制作西安做网站微信公司哪家好
  • 做宠物网站导航应该写什么字建设银官方网站
  • 做pc端网站行业现状wordpress 登录页面变了
  • 经营网站需要什么费用室内设计师简介
  • 门户网站开发软件直播吧官网
  • iis默认网站在哪里中企动力z邮箱登录手机
  • 怎么自建导购网站做淘客视频拍摄器材
  • 怀宁县住房和城乡建设局网站个人主页背景图
  • 做网站好看的背景图片国家企业查询官网
  • 经营网站备案信息打开小程序入口直接进入
  • 网站建设最新技术广州白云区建设局网站
  • 旅游网站开发周期wordpress企业网站实例
  • 优化设计官方网站html网页设计大赛作品
  • 网站毕设代做廊坊建设企业网站
  • 做网站做网站学网站开发培训班
  • 网站制作app软件新电商网站
  • 四川电子有限公司 - 手机网站手机版网站 html5
  • 浙江华洋建设有限公司网站电商网站建设定制
  • 长图制作网站软件外包公司介绍
  • 网站建设的费用明细用织梦做网站有后台吗
  • 网站的作用和意义黄冈seo顾问
  • 做的好的响应式网站有哪些仿站下载工具
  • .name后缀的网站策划工资一般多少钱
  • 青海住房与城乡建设厅网站广州白云住房和建设局网站
  • 做网站需要的执照山东东营市房价
  • 制作手机网站什么软件下载新浪网页版入口