淺談C++左值引用和右值引用
更新時間:2017年01月10日 09:41:21 投稿:jingxian
下面小編就為大家?guī)硪黄獪\談C++左值引用和右值引用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
實例如下:
#include<iostream>
#include<utility>
#include<vector>
using namespace std;
int f();
int main() {
vector<int>vi(100);
int i=42;
int &&r1=i;//error不能把右值引用綁到左值上
int &&r2=10;
int &r3=i;
int &r4=10;//error非常量引用不能綁到右值上
const int &r5=10;//ok
int &&r5=r2;//error,r2是左值
int &&r6=std::move(r2);//ok,c++11std::move把左值轉(zhuǎn)換為對應(yīng)的右值引用類型。
int &&r4=f();//這個函數(shù)返回右值
int &r5=vi[1];//下標(biāo)返回左值
int &r6=r4;//變量r4是左值
}
//左值引用表示一個對象的身份,右值引用表示對象的值
//返回左值引用的函數(shù)、賦值、下標(biāo)、解引用和前置遞增遞減運算符都是返回左值。
//不能把右值引用綁定在它們上,但可以把左值引用綁在它們上
//返回非引用類型的函數(shù)、算術(shù)、關(guān)系、位以及后置遞增遞減運算符都是返回右值
//不能把左值引用綁定它們上,但可以把const左值引用和右值引用綁定在它們上。
以上這篇淺談C++左值引用和右值引用就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語言數(shù)據(jù)類型和格式說明符基礎(chǔ)教程示例
這篇文章主要為大家介紹了C語言數(shù)據(jù)類型和格式說明符基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12
C++ const限定符以及頂層const和底層const的案例詳解
這篇文章主要介紹了C++ const限定符以及頂層const和底層const的案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-09-09
C++實現(xiàn)LeetCode(199.二叉樹的右側(cè)視圖)
這篇文章主要介紹了C++實現(xiàn)LeetCode(199.二叉樹的右側(cè)視圖),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08
c++語言中虛函數(shù)實現(xiàn)多態(tài)的原理詳解
這篇文章主要給大家介紹了關(guān)于c++語言中虛函數(shù)實現(xiàn)多態(tài)的原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用c++語言具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

