c++11之std::move()

在c++11中引入了std::move(),目的是将左值转换为右值,一般与右值引用一起使用。

 

先说下左值与右值的区别:

左值:能被赋值的值,能取到地址的值。例如: int a = 100;

右值:临时值,取不到地址。例如常量

 

右值引用只能引用右值,有时需要将左值转换为右值,所以就用到了std::move()

int a = 100; // a是左值int b = 200;int &&c = b; // 错误,c是右值引用,只能引用右值int &&d = std::move(a);std::string s1 = "def";std::string &&s2 = std::move(s1);std::string &&s3 = std::move(s1);

std::move()底层实现的原理: 只是一次资源的转移,并没有进行内存的分配与释放,对象的创建与销毁。将目标指针指向原本的内存区域,将原来的指针置为空。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Memcache应用场景

Memcache应用场景介绍面临的问题对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多…

21.判断栈弹出顺序是否正确

题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列&#xff…

mingw + msys 上编译 ffmpeg

下载以下文件 mingw msys msysdtk ffmpeg-0.6.1 1.安装 mingw ,一路next d:\mingw 2.安装 msys ,msysdtk 到同样的路径下,比如:d:\msys\1.0,ffmpeg需要用到perl,刚好msysdtk中有 3.整合 msys 和 mingw 创建文件 d:\msys\1.0\…

双向长短期神经网络(Bi-LSTM)-多输入时序预测

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、部分代码展示: 四、完整代码下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编…

C++类中protected访问权限问题

在c中&#xff0c;protected修饰的成员属性和成员函数的访问权限&#xff1a; (1)、本类中的成员函数(public/private/protected修饰的函数) (2)、友元函数和友元类 (3)、派生类中的成员函数可以访问对应基类中的protected成员属性和成员函数。 #include <iostream> …

微软的云笔记:OneNote+SkyDrive

OneNote是微软的一款笔记软件&#xff08;如果单说功能要绝对要比EverNote强大多了&#xff09;&#xff0c;它可以让你随时记录各种文字、图片&#xff0c;同时在格式排版方面它也继承了Word的强大编辑功能。但是随着各种移动办公需求的产生OneNote这种本地化的保存方式确实在…

【转】温州的南拳

南拳和北腿少林武当功太极八卦连环掌中华有神功在我国传统武术中素有南拳和北腿之分&#xff0c;实际上这种分法点出了我国南北地域拳风的特点&#xff0c;南方的拳术沉马寸劲、迅疾紧凑、重拳厉掌&#xff0c;着眼在拳&#xff1b;北方的拳路却是阔幅舒展、大开大合&#xff0…

day05-数据类型与操作

转载于:https://www.cnblogs.com/klw1/p/10727073.html

mysql 8.0 一条insert语句的具体执行流程分析(一)

最近在mysql 8.0的代码上开发新的功能的时候&#xff0c;梳理了insert语句的执行过程&#xff0c;由于insert语句比较复杂并且涉及的内容很多&#xff0c;在下面准备分3章节来分析&#xff0c;这是第一个章节&#xff0c;主要讲述sql解析和命令的分发部分。 代码版本&#xff…

开发高级 Web 部件

通过用户控件实现 Web 部件相当容易&#xff0c;但是也有一些弊端&#xff1a; 受限的重用&#xff1a;如果不手动复制 .ascx 文件到其他 Web 应用程序的目录下&#xff0c;就不能动态添加这些控件到其他 Web 应用程序的页面中。 受限的个性化&#xff1a;用户控件的个性化仅限…

强一致性和弱一致性的区别

一致性包括强一致性和弱一致性&#xff1a; 弱一致性&#xff1a;可以理解为CAP定律中的不一致现象。但是经过一定的时间会达到最终一致性 强一致性: 包含线性一致性和顺序一致性。 因此强一致性不一定是线性一致性&#xff0c;但线性一致性一定是强一致性

Juqery Html(),append()等方法的Bug

标题中说是jquery中的Bug&#xff0c;只是个人这么认为&#xff0c;先申明一下&#xff01; 这几天在做动态加载图片热区&#xff0c;我用Ajax获取到了area标签&#xff0c;这里有多个area,在IE8和FF里测试正常&#xff0c;可一到IE7,和IE6里面就显示不正常了。后来发现jquery中…

Cantor定理的一种好表述

今天我在A course on Borel sets 一书中看到了Cantor定理的一种好表述.我很喜欢这种表述.在很多书中&#xff0c;康托定理是这样表述的&#xff1a; 自然数集合的所有子集形成的集合是不可数集. 也有这样表述的: $2^{\mathbb{N}}$是不可数集. 不过在A course on Borel sets 中…

分页类与前台和后台的调用方法

using System;using System.Text; namespace WebDemo.Common{ public class LaomaPager { /// <summary> /// /// </summary> /// <param name"pageSize">一页多少条</param> /// <param name"currentPage">当前页</par…

MySQL中rename一个view对应的SQL语句

OS&#xff1a;linux ubuntu 最近在对MySQL数据库开发的过程中&#xff0c;需要修改一个view的名字&#xff0c;但是找了许久才找到对应的SQL&#xff0c;切记不是alter&#xff0c;而是rename table .... 在MySQL中&#xff0c;如果想要rename 视图的名字&#xff0c;需要使用…

SharePoint2007 配置MOSS基于AD的Forms验证

公司上边要求使用Forms验证方式登陆到MOSS系统 于是经过研究测试成功了, 这次上边又要求用户必须为AD用户 查了很多资料 经过了一番周折 终于测试成功了,无奈网上文章转载的太多, 差错太多,特将本人亲自测试的具体步骤贴出来 与大家一起进步 有什么不对的地方 还希望多提出宝贵…

ubuntu 12.04 nginx+ mono-fastcgi-server

mono是.NET在Linux下的的开源实现&#xff0c; 主要的运行方式分为两种apache mod_mononginx fastcgi (mono)考虑到nginx性能更好&#xff0c;这里讲述第二种实现方法因为Ubuntu 提供了完整的mono软件包支持&#xff0c;因此本文尝试在Ubuntu 12.04下搭建安装mono和fastcgi-s…

std::make_unique<T>和std::make_shared<T>

更建议使用&#xff1a;std::make_unique<T>构造unique_ptr对象&#xff1b;std::make_shared<T>构造shared_ptr对象 std::make_shared是C11的一部分&#xff0c;std::make_unique不是&#xff0c;它在C14才纳入标准库。如果你使用的是C11&#xff0c;不用忧伤&…

maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目

项目的简单介绍: 项目采用maven聚合工程 用spring boot 搭建 spring cloud的微服务 模块式开发 项目的截图: 搭建开始: 能上图 我少打字 1.首先搭建maven的聚合工程 1.1创建聚合工程的父模块 1.2设置父模块的POM文件 主要是配置 spring boot版本&#xff0c;spring cloud 版本&…

Cheatsheet: 2010 12.13 ~ 12.23

Web Slow Website? 6 Ways to Speed it Up MongoDB Monitoring: Keep in it RAM Minify JavaScript on the fly - Cached JavaScript minification on the fly – ASP.NET and HttpHandler What To Do When Your Website Goes Down Methods to hide email addresses from page…