本文翻译自《effective modern C++》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢!
古人曾说事情的真相会让你觉得很自在,但是在适当的情况下,一个良好的谎言同样能解放你。这个Item就是这样一个谎言。但是,因为我们在和软件打交道,所以让我们避开“谎言”这个词,换句话来说:本Item是由“抽象”组成的。为了声明一个指向T类型的右值引用,你会写T&&。因此我们可以“合理”地...
分类:
其他好文 时间:
2016-03-07 22:44:30
阅读次数:
270
1 #include <utility> 2 3 struct A 4 { 5 void f() && { } 6 }; 7 8 void g(A &&a) 9 { 10 a.f(); //error, a是左值 11 std::move(a).f(); //fine 12 } 13 14 int
分类:
其他好文 时间:
2016-03-04 22:22:29
阅读次数:
345
其实主要就是三篇文章(博客): 首推这篇。 http://thbecker.net/articles/rvalue_references/section_01.html 从这里你可以知道什么时候你会知道,什么时候能够 “链式地” 调用移动构造函数而什么时候不能 ,明白其中过程(特别是什么时候不能)的
分类:
编程语言 时间:
2016-02-28 18:12:49
阅读次数:
168
Java基本数据类型与位运算 >>赋值运算符 赋值使用操作符“=”。它的意思是“取右边的值(即右值),把它复制给左边(即左值)”。右值可以是任何 常数、变量或者表达式 (只要它能 生成 一个值就行)。但左值必须是一个明确的,已命名的变量。也就是说,必须有一个物理空间可以存储等号右边的值。分类 基本数
分类:
编程语言 时间:
2016-02-27 21:52:56
阅读次数:
188
例如:_mapTransportInfos.insert(std::make_pair<uint32, CTransportInfoPtr>(iter_t->m_nID, pinfo));这句代码在vs2012的c++11就无法编译,报2664错误。可以用如下强制转换来实现: 第一种方法(我这没成功
分类:
其他好文 时间:
2016-02-27 13:37:49
阅读次数:
266
(~ ̄▽ ̄)~* //求一个集合,这个集合与任意一个区间的交集,需至少有两个数字 //贪心过程:按n个区间的最右值从小到大对区间进行排列, //集合首先取第一个区间的最右两个数字, //到第二个区间,判断集合里的数有没有在区间里 //没有的话,就从第二个区间的最右开始往左取(cnt=0取最后两个数,...
分类:
其他好文 时间:
2016-02-25 13:33:11
阅读次数:
112
场景:
1. C++11 引入了std::move,它可以高效率的从一个左值资源移动到另一个左值资源里,
这个过程不需要再创建新的资源. 这对std::string,std::vector这种标准库的资源
操作更加精炼.使用标准库时会大量使用这个std::move模板函数.
2. 在std::move的源码里又涉及到std::remove_reference 模板结构体,这个结构体又涉及到
"右值引用声明(Rvalue Reference Declarator: &&)", 所以这里还是讲...
分类:
编程语言 时间:
2016-02-19 10:47:52
阅读次数:
313
1、move:返回arg的右值引用。 template <class T> typename remove_reference<T>::type&& move (T&& arg) noexcept; 示例: class MemoryBlock { public: explicit MemoryBlo
分类:
编程语言 时间:
2016-02-15 21:15:46
阅读次数:
180
C++Primer第5版学习笔记(三) 第四/五章的重难点内容 你可以点击这里回顾第三章内容 因为第五章的内容比较少,因此和第四章的笔记内容合并。 第四章是和表达式有关的知识,表达式是C++的基础设施,本章由三部分组成: 1.表达式概念基础,包括表达式的基本概念,左值和右值的概念,优先级结合律,求值
分类:
编程语言 时间:
2016-02-12 08:22:46
阅读次数:
329
转载请注明出处:http://blog.csdn.net/luotuo44/article/details/46779063 新类型: int和int&是什么?都是类型。int是整数类型,int&则是整数引用类型。相同int&&也是一个类型。两个引號&&是C++ 11提出的一个新的引用类型。记住,这
分类:
编程语言 时间:
2016-01-30 02:07:53
阅读次数:
259