右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要目的有两个方面:消除两个对象交互时不必要的对象拷贝,节...
分类:
编程语言 时间:
2015-07-14 20:23:48
阅读次数:
183
标题效果:鉴于一棵树。每个节点有一个右值,所有节点正确启动值他们是0。有两种操作模式,0 x y代表x右所有点的子树的根值添加y。1 k a1 b1 a2 b2 ……ak bk代表质疑。共同拥有者k边缘( k #include #include #include #define MAX 200010...
分类:
其他好文 时间:
2015-07-10 20:28:58
阅读次数:
194
新类型:
int和int&是什么?都是类型。int是整数类型,int&则是整数引用类型。同样int&&也是一个类型。两个引号&&是C++ 11提出的一个新的引用类型。记住,这是一个新的类型。默念10次吧。如果你记住这个新类型,那么很多疑问都能迎刃而解。并且对《Effective Modern C++》说到的void
f(Widget&& w),就很容易明白w是新类型的一...
分类:
编程语言 时间:
2015-07-07 00:57:17
阅读次数:
228
什么是指针? 指针是一类数据类型的统称. 这种类型的数据用来专门存储内存中的一块空间的编号,用于表示这一段内存.以实现通过内存地址(编号)完成各种运算.也就是一个指针指向一块内存空间,指针把这一块空间的第一个Byte的空间的地址存在指针的右值中.指针自己也是有内存空间和内存地址的. 数祖名也...
分类:
其他好文 时间:
2015-07-03 06:55:08
阅读次数:
133
1.指针与左值、右值在C++中有左值与右值之分,弄清楚它们的关系和区别很重要。当一个对象用作左值时用的是对象的身份(即其内存),当一个对象用作右值时用的是对象的值(即内容)。例如: int a = 5,b = 6; a=b; //a是左值,用的是a在内存中的位置 //b是右值,用的是b的值,即6取地...
分类:
其他好文 时间:
2015-06-28 21:22:25
阅读次数:
128
just read it
smart_ptr: https://mbevin.wordpress.com/2012/11/18/smart-pointers/
move: https://mbevin.wordpress.com/2012/11/20/move-semantics/...
分类:
编程语言 时间:
2015-06-26 13:03:36
阅读次数:
237
int?*a?=?&1;?//1为右值?不可取址
?const?int?&&aa?=?1;//?右值引用,
?
?//注意??考虑到安全因素,具名变量即使被声明为右值类型也不会被当作右值?而要用std::move函数...
分类:
其他好文 时间:
2015-06-06 23:49:46
阅读次数:
283
2015年5月11日 星期一 19:59第1章 快速入门第一部分 基本语言 第2章~第8章第2章 变量和基本类型基本内置类型,整型(整数,字符和布尔值),浮点型(float,double,long double),有符号/无符号类型字面值常量变量,左值和右值变量名,定义对象,变量初始化规则声明和定义...
分类:
编程语言 时间:
2015-06-06 23:27:37
阅读次数:
164
1、什么是左值和右值?左值就是出现在表达式左边的值(等号左边),可以被改变,他是存储数据值的那块内存的地址,也称为变量的地址;右值是指存储在某内存地址中的数据,也称为变量的数据。左值可以作为右值,但右值不可以是左值。因此也只有左值才能被取地址。2、举两个问题:int i = 0;(i++)+=i; ...
分类:
编程语言 时间:
2015-06-03 23:27:07
阅读次数:
153
* 读作 pointer to,从右向左读 * const p 变量p存放在read-only数据段,p为常量指针,p只用于读操作, 告诉编译器,p仅用做右值;读作:p is const pointer to const *p 变量p存放在栈区;*p不一定为常量区,但*p只用于读操作,告诉编译...
分类:
其他好文 时间:
2015-06-03 21:14:49
阅读次数:
105