1:右值引用的定义:

类型 && i=被引用的对象;

左值与右值的区别在于,右值是临时变量,例如,函数的返回值,并且无法被改变。

当右值引用被初始化后,临时变量消失。

代码如下:

// 5.17.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <iostream> int get()
{
int i =; return i;
}
int main()
{
int &&k =get()+;
// int &i = get()+4; //出错
k++;
std::cout<<"k的值"<<k<<std::endl;
return ;
}

运行结果:

右值引用知识可以初始化于右值,但右值引用实质上是一个左值,它具有临时变量的数据类型。

右值引用与左值引用的相同点如下:

(1)一个右值引用被初始化后,无法使用它再去引用另一个对象,它不能被重新约束。

(2)右值引用被初始化后,可以视作该变量类型的左值。

最新文章

  1. 【java】Naming.bind和Registry.bind区别
  2. iOS开发--OC调用JS篇
  3. 1117 冲刺一(Day 1)
  4. ajaxfileupload.js
  5. [解决方案]在Sql Server 2008/2005 数据库还原出现 3154错误
  6. C#连接SQLite的字符串
  7. 遍历 DataSet
  8. 在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)
  9. asp.net接收发送的xml字符串数据
  10. RHL 6.0学习日记, 先记下来,以后整理。
  11. hashlib 模块:加密
  12. 在Eclipse中导入web项目时的问题总结
  13. Linux Sysstat性能监控工具安装及常见8个命令使用例子
  14. Luogu4640 BJWC2008 王之财宝 容斥、Lucas
  15. windows上面链接使用linux上面的docker daemon
  16. NFS配置不当导致的那些事儿
  17. ajax批量删除功能的实现源代码
  18. VS2010与VS2013中的多字节编码与Unicode编码问题
  19. swddude -- A SWD programmer for ARM Cortex microcontrollers.
  20. C# 6.0 的那些事

热门文章

  1. 51nod 1251 Fox序列的数量 (容斥)
  2. Java 父类的static成员在子类中的继承情况
  3. [转载]C++STL—vector的插入与删除
  4. 转载:JavaWeb 文件上传下载
  5. leetcode240 搜索二维矩阵 II
  6. redis基础学习
  7. python、mysql四-2:多表查询
  8. 常用数据存储格式之xml
  9. @Mapper和@Repository的区别
  10. linux服务器上如何使用nginx访问本地静态资源