码迷,mamicode.com
首页 > 其他好文 > 详细

区别右值引用和统一引用

时间:2015-08-18 21:16:50      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

具体参考:http://m.blog.csdn.net/blog/coolmeme/44563577

void f(Widget&& param);      // 右值引用

Widget&& var1 = Widget();  // 右值引用

template<typename T>
void f(std::vector<T>&& param); // 右值引用

 

template<typename T>
void f(T&& param);                     // 统一引用

auto&& var2 = var1;             // 统一引用

 

1.假如一个函数模板的参数有一个T&&类型用来推导,或者对象使用auto&&来声明,这个参数或对象是一个统一引用。

2.假如类型声明的形式不是精确的type&&,或者没有发生类型推导,type&&表示了一个右值引用。

3.假如统一引用被右值来初始化,则它们关联到右值。如果被左值来初始化,则它们关联到左值。

区别右值引用和统一引用

标签:

原文地址:http://www.cnblogs.com/wxquare/p/4740530.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!