C++入门经典-例5.17-右值引用的定义
2024-09-05 01:06:59
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)右值引用被初始化后,可以视作该变量类型的左值。
最新文章
- 【java】Naming.bind和Registry.bind区别
- iOS开发--OC调用JS篇
- 1117 冲刺一(Day 1)
- ajaxfileupload.js
- [解决方案]在Sql Server 2008/2005 数据库还原出现 3154错误
- C#连接SQLite的字符串
- 遍历 DataSet
- 在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)
- asp.net接收发送的xml字符串数据
- RHL 6.0学习日记, 先记下来,以后整理。
- hashlib 模块:加密
- 在Eclipse中导入web项目时的问题总结
- Linux Sysstat性能监控工具安装及常见8个命令使用例子
- Luogu4640 BJWC2008 王之财宝 容斥、Lucas
- windows上面链接使用linux上面的docker daemon
- NFS配置不当导致的那些事儿
- ajax批量删除功能的实现源代码
- VS2010与VS2013中的多字节编码与Unicode编码问题
- swddude -- A SWD programmer for ARM Cortex microcontrollers.
- C# 6.0 的那些事