以下內容是參考書籍以及晚上的內容,整理而成,僅供參考~~
#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
新聞熱點
疑難解答
圖片精選