引用
2018-09-18 06:25:16来源:博客园 阅读 ()
一:简单介绍
引用又称别名,一般指左值引用。
使用方式:类型 &引用变量 = 初始值;
引用必须初始化,初始值必须是一个有内存的地址对象;
引用一旦绑定到对象,将无法绑定其他对象;
右值是为了支持移动操作,是一个临时数,不能取地址;
定义形式:类型 &&右值引用变量 = 右值表达式;
二:比较分析
1)引用VS赋值:
初始化变量:初始值会被复制到对象中;变量可以修改;
初始化引用:绑定一个变量(存地址);引用初始化后不可修改;
引用不是对象,它是对象的别名(只是对象的起始地址),引用被实现为与所引对象相同的内存地址;
2)引用VS指针:
指针可以指向同类型的不同的对象;引用不行;
引用是对象的一个别名,定义时必须是有内存地址的对象进行初始化;指针是拥有独立内存的变量,可以改变它的内容;
指针通过解引用*使用,引用直接使用;
指针可以不指向任何对象,为0,引用不可,必须初始化;
指针的赋值改变的是指向关系,引用的赋值改变的是对象的值(引用关系是不可变的);
3)左值引用VSz右值引用:
右值不能取地址,左值有地址,有名字;
常数是右值,变量是左值;
可以显式 的把左值变为右值,右值不能变成左值;
方法:int r1=0;
int &&r2=std::move(r1);
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 透彻理解C++11新特性:右值引用、std::move、std::forward 2020-04-30
- 引用传参与reference_wrapper 2020-04-21
- 模板参数的“右值引用”是转发引用 2020-04-19
- 加边的无向图--并查集 2020-04-10
- 第一章 从C到C++ 2020-04-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash