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

缅甸网站建设网站流量分析方法

缅甸网站建设,网站流量分析方法,东山县城乡规划建设局网站,小程序码1 引用基本语法 引用和实体共用同一块内存空间 引用有三个特性,分别是: 引用在 定义时必须初始化一个变量可以有多个引用引用一旦引用一个实体,再不能引用其他实体 引用权限不能放大,可以平移或缩小 int& ra; // 该条语…

1 引用基本语法

引用和实体共用同一块内存空间
在这里插入图片描述

引用有三个特性,分别是:

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

引用权限不能放大,可以平移或缩小

   int& ra;   // 该条语句编译时会出错	(引用定义时必须初始化)const int a = 10;//int& ra = a;   // 该语句编译时会出错 (引用权限不能放大)const int& ra = a;// int& b = 10; // 该语句编译时会出错  (引用权限不能放大)double d = 12.34;//int& rd = d; // 该语句编译时会出错	(引用类型不能不同)const int& rd = d; //(引用权限可以缩小)const int& b = 10;//(引用权限可以平移)

2 引用做返回值

函数返回时,出了函数作用域,如果返回对象还在(还没还给系统),则可以使用引用返回,如果已经还给系统了,则必须使用传值返回。

为什么呢?
在这里插入图片描述

如果一定要返回局部变量的引用,就要static定义局部变量
因为static出了函数域还没还给系统

3 传值和传引用效率比较

以值作为参数或者返回值类型,在传参和返回期间,函数不会直接传递实参或者将变量本身直接返回,而是传递实参或者返回变量的一份临时的拷贝,因此用值作为参数或者返回值类型,效率是非常低下的,尤其是当参数或者返回值类型非常大时,效率就更低。

#include <time.h>
struct A { int a[10000]; };
void TestFunc1(A a) {}
void TestFunc2(A& a) {}
void TestRefAndValue()
{A a;// 以值作为函数参数size_t begin1 = clock();for (size_t i = 0; i < 10000; ++i)TestFunc1(a);size_t end1 = clock();// 以引用作为函数参数size_t begin2 = clock();for (size_t i = 0; i < 10000; ++i)TestFunc2(a);size_t end2 = clock();// 分别计算两个函数运行结束后的时间cout << "TestFunc1(A)-time:" << end1 - begin1 << endl;cout << "TestFunc2(A&)-time:" << end2 - begin2 << endl;
}
int main()
{TestRefAndValue();return 0;
}

在这里插入图片描述

3.1传值底层过程

在这里插入图片描述

传值返回这个过程当中会产生一个临时变量,跟传参一样,如果小会用寄存器替代。传值返回的类型其实是临时变量的类型,将n拷贝给临时变量,再将临时变量拷贝给ret。那么为什么要设计临时变量呢?直接把n给ret不好吗?

这是因为在当临时变量出了函数作用域之后会销毁,函数栈桢也会销毁,那么此时n是不能作为返回值再赋值给ret的。那么编译器就在此生成了一个临时变量,把n拷给临时变量,再把临时变量给ret。此时,函数栈桢销毁是不会影响临时变量的。

在这里插入图片描述

那我们怎么可以证明这个过程产生了临时变量,我们可以给ret前加个引用。
在这里插入图片描述

此时我们发现,编译器是过不了的,这是因为此时ret是引用的临时变量,而临时变量具有常性,这里属于权限的放大,因此我们只需要加上const即可。我们也通过这个例子证明了临时变量的存在。
在这里插入图片描述
在这里插入图片描述

这里ret和n的地址相同,也能证明ret是n的别名。因此,引用作为返回值其实返回的就是n的别名。

引用和指针的不同点:

  1. 引用在定义时必须初始化,指针没有要求
  2. 引用在初始化时引用一个实体后,就不能再引用其他实体,而指针可以在任何时候指向任何一个同类型实体
  3. 没有NULL引用,但有NULL指针
  4. 在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个数(32位平台下占4个字节)
  5. 引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小
  6. 有多级指针,但是没有多级引用
  7. 访问实体方式不同,指针需要显式解引用,引用编译器自己处理
  8. 引用比指针使用起来相对更安全

文章转载自:

http://3esf4aer.pwxkn.cn
http://1xVVGI3r.pwxkn.cn
http://wqdU7PKe.pwxkn.cn
http://j9tVMbOu.pwxkn.cn
http://TSTHr1Gl.pwxkn.cn
http://CRHuwUkV.pwxkn.cn
http://o8dGHnYs.pwxkn.cn
http://tLDuqLj8.pwxkn.cn
http://XV11oLTZ.pwxkn.cn
http://xPLbAs4c.pwxkn.cn
http://JJ8J1Ezi.pwxkn.cn
http://H6L28gio.pwxkn.cn
http://zHebPr1s.pwxkn.cn
http://H3DBNqun.pwxkn.cn
http://NXbNZ4Oa.pwxkn.cn
http://R7C3FZPI.pwxkn.cn
http://10IeL3EM.pwxkn.cn
http://g5Lpn2nx.pwxkn.cn
http://XteGESlY.pwxkn.cn
http://KcZCNaG8.pwxkn.cn
http://LPXe3kTN.pwxkn.cn
http://Y1Xl2Yd6.pwxkn.cn
http://q0RNHaFk.pwxkn.cn
http://AvdMIhew.pwxkn.cn
http://bZGy2Ge8.pwxkn.cn
http://M0sKPJOJ.pwxkn.cn
http://3I9PMfK3.pwxkn.cn
http://IjL01HUR.pwxkn.cn
http://43xgDCGq.pwxkn.cn
http://Yti8gCqw.pwxkn.cn
http://www.dtcms.com/wzjs/621935.html

相关文章:

  • 源码网站违法吗外贸 wordpress模板下载
  • 网站服务器开发优秀网站有哪些
  • 云南做网站需要多少钱wordpress 获取文章时间
  • 校园二手交易网站开发背景家装设计师培训要多久
  • 现在做网络推广网站建设怎么样杭州亚运会闭幕式
  • 端午节网站建设目的无锡免费做网站
  • 购门户网站系统wordpress登陆过程
  • html网站地图模板如何在阿里云wordpress
  • wordpress 504沈阳网站建设seo优化
  • 建个网站 网页空间多少青岛海川建设集团有限公司网站
  • 求职网站开发开题报告网站建设 流程 域名申请
  • spring mvc 做网站做花语的网站
  • 音乐网站是否可以做浅度链接免费广告推广网站
  • 在线查看网站源码中国航天空间站最新消息
  • 兰州市住房保障和城乡建设局网站100款应用软件免费大全
  • 有什么好的网站建设的书个人养老金怎么缴纳
  • 便利的邯郸网站建设网页框架
  • 张家界建设信息网站泉州高端网站建设
  • 可以先做网站再开公司吗响应式网页源码
  • 做网站的服务器有什么作用推广做网站怎么样
  • 重庆网站建站公司无网站可以做cpc吗
  • 商务礼品网站模板2024年重启核酸
  • 欢乐海岸网站建设微网站开发流程
  • 前端特效网站做知乎网站的图片
  • 做游戏模板下载网站html格式的网站地图
  • 网站推广的技巧如何制作公司宣传片
  • 深圳安嘉建设有限公司网站外贸招聘网站
  • php网站开发毕业设计上海今天新闻发布会直播
  • 杭州品牌网站设计商城网站模板框架
  • 电商网站建设方案uc推广登录入口