以下内容是参考书籍以及晚上的内容,整理而成,仅供参考~~
#include <iostream> using namespace std;void add_1(int & num){ num += 1;}int main(){ int v = 6; add_1(v); cout <<"v="<< v << endl; return 0;}输出结果:v=7.rvalue引用:
首先,举一个报错的例子:#include <iostream> using namespace std;void add_1(int && num){ num += 1;}int main(){ int v = 6; add_1(v); cout << "v="<<v << endl; return 0;}编译会报错: 无法将左值绑定到右值引用。因为:lvalue不能通过rvalue引用,有rvalue引用形参的函数只能通过rvalue实参来调用,后面列举正确编译的例子:#include <iostream> using namespace std;void add_1(int && num){ num += 1; cout << "num=" << num << endl;}int main(){ int v = 6; int s = 4; add_1(v+s); cout << "v="<<v << endl; return 0;}运行结果:num=11,v=6.参考:http://blog.chinaunix.net/uid-7471615-id-83794.html
http://blog.csdn.net/rogerhe/article/details/6410993
http://www.cnblogs.com/yunqie/p/5892252.html
新闻热点
疑难解答
图片精选