什么是C ++中的双地址运算符(&&)?
&&是C++11标准中定义的新引用运算符。int&&a表示“a”是r值参考。&&通常仅用于声明函数的参数。而且它只需要一个r值表达式。
简而言之,r值是没有内存地址的值。例如,数字6和字符“v”都是r值。inta,a是一个l值,但是(a+2)是一个r值。
例
void foo(int&& a)
{
//一些神奇的代码...-
}
int main(){
int b;
foo(b); //Error. An rValue reference cannot be pointed to a lValue.
foo(5); //Compiles with no error.
foo(b+3); //Compiles with no error.
int&& c = b; //Error. An rValue reference cannot be pointed to a lValue.
int&& d = 5; //Compiles with no error.
}您可以在http://blogs.msdn.com/b/vcblog/archive/2009/02/03/rvalue-references-c-0x-features-in-vc10-part-中了解有关R值和此运算符的更多信息。2.aspx
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西