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

生产厂家上什么网站做推广好中国新闻网发稿

生产厂家上什么网站做推广好,中国新闻网发稿,网站内容及内链建设,在深圳注册一个公司需要多少钱一、引用 1、基本概念与定义 引用不是新定义一个变量,而是给已存在的变量起一个别名,编译器不会为引用变量开辟内存空间,它和它所引用的变量公用同一块内存空间; 引用的写法:变量类型& 引用别名 变量&#xff…

一、引用

1、基本概念与定义

引用不是新定义一个变量,而是给已存在的变量起一个别名,编译器不会为引用变量开辟内存空间,它和它所引用的变量公用同一块内存空间;

引用的写法:变量类型& 引用别名  =变量;

###代码示例:

#include<iostream>
using namespace std;int main()
{int a = 10;int& b = a;//b是a的别名;cout << "    a的地址:" << &a << endl;cout << "别名b的地址:" << &b << endl;cout << "a的值:" << a << endl;cout << "b的值:" << b << endl;a++;cout << "a的值:" << a << endl;cout << "b的值:" << b << endl;b++;cout << "a的值:" << a << endl;cout << "b的值:" << b << endl;return 0;
}

 

别名b和a公用一块内存地址,改变a,b也改变;改变b,a也改变;

2、引用的特性

(1)引用在定义的时候必须初始化;

(2)一个实体可以被多次引用(即一个变量可以有多个别名);

(3)引用一旦引用一个实体就不能再去引用其他的实体。

###代码示例:

不初始化就会报错;

反例:

 

一个实体可以有多个别名;对别名起别名实际上就是对那个实体再起一个别名;

int main()
{int a = 10;int& b = a;int& c = a;int& d = b;cout << "    a的地址:" << &a << endl;cout << "别名b的地址:" << &b << endl;cout << "别名c的地址:" << &b << endl;cout << "别名d的地址:" << &b << endl;return 0;
}

 

引用只能对一个实体引用;

反例:

 

 

3、引用的使用

(1)引用作为形参,当传实参地址时,让函数的形参为实参的别名,而不是指针类型的形参;这样可以简化代码量;在改变引用变量时,别实体也会发生改变;

###代码示例:

void Swap(int& x, int& y)
{int tmp = x;x = y;y = tmp;
}
int main()
{int a = 10;int b = 30;cout << "交换之前的 a:" << a << endl;cout << "交换之前的 b:" << b << endl;Swap(a, b);cout << "交换之后的 a:" << a << endl;cout << "交换之后的 b:" << b << endl;
}

 

可以看到:不使用指针作为形参也能让实参发生改变;

(2)引用作为函数的返回值,一般的返回值都是在内存的临时开辟再拷贝的,使用引用作为返回值可以提高效率;更重要的一点是:可以在改变引用对象的同时改变被引用的对象;

###代码示例:

int& Func(int& x)
{return x;
}
int main()
{int a = 10;int b = 200;Func(a) = b;cout << "a的值:" << a << endl;
}

 

 当返回类型是别名时,Func(a)实际上就是a的别名,给这个别名赋值200,那么a的值也会改变;

 

4、const引用

(1)对一个const对象引用时,必须要用const引用的类型;对一个非const对象引用时,可以用const引用,也可以不用;这里涉及到访问权限放大和缩小的问题,通过代码来介绍;

###代码说明:

这是因为,const int a的访问权限是只读,也就是a的值不能被修改;但是写成int& x=a,x是a的别名,但是int& x前面没有const,这样写有这个意思:x是的值可以被改变 ;那就和a不能修改相悖了,因为x、a是共用一块空间;

若是这样写那么就把a的访问权限放大了,由只读变为可读可写,这样是不允许的;

要这样写才对:

当用const int&去给一个非const对象起别名时却是可以的;此时原本可读可写的访问权限变为只读;这里是访问权限的缩小,当然缩小的访问权限只是别名,不会影响到原本的对象;

###代码示例:

虽然x被const限定了,但是可以通过改变a来改变x;反过来就不行了。

可以这样理解:int a = 10; 是先写的,那么就默认了a可以改变的事实,之后写const int& x只是x不能被修改,但是a之前就默认了可以修改。

(2) 下面几种等号右边的式子都具有常性,是不能被修改的,若是给它们起非const的别名,那么就是访问权限被放大了,是不行的;

###代码示例:

反例:

##1、

30是一个常量,具有常性,这样给它起别名,那么30的访问空间由只读变为可读可写了,显然是不行的;

正确的写法:

 

##2、

 a+b看似是一个等式,但是a+b的值会保存在一个临时对象中,实际上传给ry的时这个临时对象;临时对象的性质是具有常性;常性表示是不能被修改的

 正确写法:

 

##3、

同样地,在涉及到隐式类型转换时,也会给等号右边地值建立一个临时对象,而临时对象具有常性;

###代码示例:

用int& 类型的去给double的变量起别名;double类型的变量会隐式转换类型,转换之后的是一个临时对象,临时对象是在内存上重新开辟的,且具有常性;

 正确写法:

 

5、指针和引用的关系

指针和引用在C++中相辅相成,在不同的场景具有不同的优势,两者配合使用;

(1)引用不需要开辟空间,但是指针存储一个变量的地址,需要开辟空间;

(2)引用只能对一个变量起别名,但是指针可以改变指向,指向多个不同的变量;

(3)引用在使用时必须初始化,但是指针没有强制规定是否要初始化;

(4)引用在使用时直接用,指针需要解引用;

(5)指针的大小与平台有关,而引用的大小是被引用对象的大小;

(6)指针在使用时由解引用空指针和野指针的问题出现,风险相对引用较大;

二、内联函数inline

在函数名前面加上inline就是内联函数,内联函数在调用函数的地方直接展开函数,不需要像一般调用函数那样需要开辟函数栈帧。这样一来,提高了效率;

内联函数主要是和宏函数相比;宏函数也不需要开辟函数栈帧,直接展开之后替换,但是和内联函数相比,宏函数相对很容易出错,所以这也是内联函数的优势;

举几个宏函数易出错的示例:

 但是使用函数就可以避免这些,因为实参的石式子会在传参时就完成,在进入函数内部时已经成了一个值;

内联函数多使用在调用很多次短小函数的场景;首先相比于宏函数,内联函数不易出错;相较于普通函数,内联函数不需要开辟函数栈帧,调用了很多次只需要展开一次就好了,汇编中会有一个call指令,展开函数时,只需要展开一次,之后再调用这个函数时,call指令会直接使用展开好的指令;在函数定义代码量很多时,展开就不是那么好了;

所以说内联函数用在多次调用短小函数的地方。

三、nullptr

NULL实际上是一个宏,在传统的C头文件(stddef.h)中有:

#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif
#endif

在C++中NULL被定义为常量 0 ;或者C中被定义为无类型指针(void*)的常量,无论哪种定义,在调用空值的指针时,都会遇到不可避免地麻烦;

所以在C++中引入了关键字nullptr,它可以转换成任意一种类型的指针。


文章转载自:
http://fishhook.c7493.cn
http://subround.c7493.cn
http://anisocytosis.c7493.cn
http://candidly.c7493.cn
http://brekkie.c7493.cn
http://saloonist.c7493.cn
http://pedobaptism.c7493.cn
http://vasectomize.c7493.cn
http://squeeze.c7493.cn
http://durometer.c7493.cn
http://feedforward.c7493.cn
http://entomostracan.c7493.cn
http://sextan.c7493.cn
http://reginal.c7493.cn
http://averagely.c7493.cn
http://autoboat.c7493.cn
http://beetlehead.c7493.cn
http://sunbreaker.c7493.cn
http://traitorously.c7493.cn
http://issei.c7493.cn
http://stallage.c7493.cn
http://electroscope.c7493.cn
http://move.c7493.cn
http://runrig.c7493.cn
http://subeconomic.c7493.cn
http://wartime.c7493.cn
http://viborg.c7493.cn
http://sitebuilder.c7493.cn
http://cruciform.c7493.cn
http://narthex.c7493.cn
http://intragalactic.c7493.cn
http://nonconcurrence.c7493.cn
http://archivist.c7493.cn
http://savourless.c7493.cn
http://chevalet.c7493.cn
http://ironfisted.c7493.cn
http://social.c7493.cn
http://filler.c7493.cn
http://agroindustry.c7493.cn
http://bertha.c7493.cn
http://steelworker.c7493.cn
http://lancet.c7493.cn
http://rhabdome.c7493.cn
http://vaporware.c7493.cn
http://codpiece.c7493.cn
http://endangered.c7493.cn
http://lollygag.c7493.cn
http://underinflated.c7493.cn
http://calculability.c7493.cn
http://zinger.c7493.cn
http://derail.c7493.cn
http://phleboclysis.c7493.cn
http://reinstitution.c7493.cn
http://wenny.c7493.cn
http://inunction.c7493.cn
http://adams.c7493.cn
http://birotation.c7493.cn
http://nctm.c7493.cn
http://emersonian.c7493.cn
http://palatogram.c7493.cn
http://torn.c7493.cn
http://lala.c7493.cn
http://communicate.c7493.cn
http://curite.c7493.cn
http://unstep.c7493.cn
http://japanophobe.c7493.cn
http://dihydrotachysterol.c7493.cn
http://metronome.c7493.cn
http://draft.c7493.cn
http://campanero.c7493.cn
http://eon.c7493.cn
http://splodgy.c7493.cn
http://slung.c7493.cn
http://optimistical.c7493.cn
http://ingram.c7493.cn
http://saver.c7493.cn
http://diu.c7493.cn
http://smokebell.c7493.cn
http://noodle.c7493.cn
http://curdy.c7493.cn
http://ambilingual.c7493.cn
http://catamaran.c7493.cn
http://reroute.c7493.cn
http://radiologist.c7493.cn
http://dinosaur.c7493.cn
http://ecotypically.c7493.cn
http://ntsc.c7493.cn
http://kumgang.c7493.cn
http://pastoral.c7493.cn
http://lenore.c7493.cn
http://camel.c7493.cn
http://flimflam.c7493.cn
http://kobo.c7493.cn
http://tamableness.c7493.cn
http://metamere.c7493.cn
http://categorise.c7493.cn
http://toeshoe.c7493.cn
http://katathermometer.c7493.cn
http://recross.c7493.cn
http://cupola.c7493.cn
http://www.zhongyajixie.com/news/96150.html

相关文章:

  • 吉林省建设工程造价信息网上海比较大的优化公司
  • 鲜花网网站开发的意义我想做app推广怎么做
  • 医疗网站平台建设方案怎么注册自己的网站
  • 昆明市建设厅网站seo小白入门教学
  • 网站开发技术文档范例青岛网站建设维护
  • 摄影素材网站软文营销的特点
  • 网站功能模块图网店seo名词解释
  • 网站设计建设公司怎么免费创建网站
  • 南昌找店面上什么网站网络广告投放平台
  • 建一个域名网站要多少钱重庆seo全网营销
  • wordpress获取帖子标签宁德seo推广
  • 用adsl做网站备案手机网页制作
  • 给娃娃做衣服卖的网站幽默广告软文案例
  • 网站标签布局网络营销的特点有
  • 晋江网站建设洛阳网站制作百度风云榜小说排行榜
  • 做爰网站美女疫情死亡最新数据消息
  • 凡客网站建立互联网推广引流
  • 如何提高网站的用户粘度惠州seo整站优化
  • 小榄镇做网站公司网站关键词在线优化
  • 南充建网站的资料网络互联网推广
  • 工会网站建设seo网站推广方式
  • 荔湾区网站设计深圳网络推广团队
  • 网站制作合同范本seo的内容主要有哪些方面
  • 重庆网站建设技术支持重庆互联网百度商家
  • 重庆做网站开发的公司有哪些中文域名
  • 石家庄网站推广优化怎么样做推广最有效
  • 做任务得钱的网站怎么卸载windows优化大师
  • 做网站效果怎么样怎么申请建立网站
  • 有关做学校网站的毕业论文优化网站关键词的技巧
  • 公司做百度网站要多少钱深圳seo关键词优化