Source code
Login
Home
Articles
Open-Source
Pictures
About Me
Documents
Hot
1
汇编第五章
2
unix文件
3
ubuntu使用root用户登陆14-15版本可用
4
PHP-GTK2-文档学习&翻译——教程部分表格布局使用GtkTable
5
解决LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
6
时钟
7
php导出数据到xls文件
8
Windows GUI开发在控制台打印输出
9
Vim设置字体linux和windows
10
对象代理
Links
网易云课堂
简明现代魔法
看风景
果壳网看科技
下厨房
Redis官网
nginx官网
Mysql文档
持续集成项目travis-c...
在线图书创作Leanpub
PHP-CPP
值得推荐的C/C++库和框架
腾讯一个php
Jquery插件库网站
phpstorm免费注册码
Game And C 老外
owent-ACM-Cpp-...
开源应用程序架构
QTCN开发网
OAuth2协议
SwiftChinese
香草/Vanilla是一个基...
个人征信查询
A set of PHP l...
知行一 | 顶级C++社区
国外QT支持站
WebGL中文网-three...
UE4学习资源合集
https://www.ma...
cppcon
C++官方文档
C++中文友好文档
阿里云珍贵技术资料免费下载
LoL查询
opengl-tutoria...
WebGl版本支持检测网址
OpenGL API Doc...
Git 在团队中的最佳实践-...
A successful G...
GLAD- 比glew更好的...
OpenGL模型导入库-As...
WebGL-火狐doc
如何开发一款游戏:游戏开发流...
Shader
nodejs中文网
Dracula-A dark...
即时通讯网
https://apizza...
sweetalert
伯乐在线github
阿里巴巴免费图标
opengl特效
看见统计
codewars算法挑战1
leetcode算法挑战2
PHP列续松博客
electron-vue文档
Vue Cli 3.0
element-ui
翻墙
Golang ORM ——G...
访客地图
C++11——右值引用提高性能的手段
张成
2016/11
2908
#C++11/14——右值引用提高性能的手段 1. std::move 这个模板函数,并没有做任何转移操作,只是把一个对象明确的转换为匿名的右值引用,确认该对象为右值引用,可以被安全的转移,相当于static_cast < T & & > ( t ) 2. C++11/14为class新增了参数类型为T&&的转移构造函数和转移赋值函数,只要类实现了这个两个函数,那么我们就可以利用右值对象零成本构造,只要对象被move()标记为右值引用,就可以毫无损失的转移资源,无需担心深拷贝操作。 3. C++标准库里面的string、vector、deque等组件都实现了转移构造和转移赋值函数,利用函数返回大容器对象也是非常高效的。这些标准容器还添加了emplace()系列函数,可以使用转移语义插入元素,进一步提高性能。 4. std::forward() 这个模板函数声明如下 ```cpp template
T&& forward(T& t) noexcept; template
T&& forward(T&& t) noexcept; ``` 这个模板函数可以在泛型编程时,把函数的参数原封不动的转发给其他函数,没有复制损耗。
上一篇:
转-黑夜路人-PHP程序员的技术成长规划
下一篇:
IOS App Transport Security (ATS)特性
Please enable JavaScript to view the
comments powered by Disqus.