C++ 非Const引用

//報(bào)錯(cuò)信息
error: cannot bind non-const lvalue reference of type 'std::vector<int>&' to an rvalue of type 'std::vector<int>'

報(bào)錯(cuò)原因:
當(dāng)函數(shù)使用非Const類型的形式參數(shù)時(shí),編譯器會(huì)認(rèn)為該函數(shù)會(huì)修改該參數(shù),且該參數(shù)返回后還會(huì)發(fā)揮作用。
如果把一個(gè)臨時(shí)變量當(dāng)成非const引用類型傳入,由于臨時(shí)變量可能隨時(shí)會(huì)消失,修改臨時(shí)變量也毫無(wú)意義。
因此,臨時(shí)變量不能作為非const引用。

例如++++i與i++++的區(qū)別,前者是合法的,后者是非法的。前者是i自增后再參與其他運(yùn)算,后者是i參與運(yùn)算后對(duì)產(chǎn)生的臨時(shí)變量自增1。

// 參考代碼
void Func1(vector<int> v){
    cout<<"Success"<<endl;
}
void Func2(vector<int> &v){
    cout<<"Success"<<endl;
}
void Func3(const vector<int> &v){
    cout<<"Success"<<endl;
}
int main(){
    vector<int> v = {1, 2, 3};
    Func1(vector<int>());
    Func2(vector<int>()); //報(bào)錯(cuò)行
    Func3(vector<int>());
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、 C/C++程序基礎(chǔ) 面試?yán)}1——分析代碼寫輸出(一般賦值語(yǔ)句的概念和方法)。 面試?yán)}2—...
    LuckTime閱讀 2,110評(píng)論 2 42
  • 寫在前面: 猶豫了一下,不知道該不該發(fā)這么多。畢竟題目雖全,但是其實(shí)很多人看了不到一半,估計(jì)就會(huì)默默的收藏保存,等...
    Yt_cc閱讀 14,909評(píng)論 1 6
  • 數(shù)據(jù)格式詳解 輸入輸出函數(shù)詳解 字符串處理函數(shù)詳解 內(nèi)存函數(shù)詳解 類詳解 數(shù)據(jù)格式詳解 2^8=256(同樣是一個(gè)...
    我在東北玩泥巴_閱讀 2,307評(píng)論 0 0
  • 原文地址: 不詳 C++中的const關(guān)鍵字的用法非常靈活,而使用const將大大改善程序的健壯性,本人根據(jù)各方面...
    Caiaolun閱讀 383評(píng)論 0 0
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)、焦點(diǎn)、注意力、語(yǔ)言聯(lián)想、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會(huì)...
    Jenaral閱讀 5,967評(píng)論 0 5

友情鏈接更多精彩內(nèi)容