20200402_引用作爲返回值

20200402_引用作爲返回值

一、相關術語

  • 引用
    引用可以作爲函數返回,但不建議這樣做。

二、筆試題

1、什麼情況下需要使用“常引用”?
答:既要提高程序效率,又要保護傳遞給函數的數據不被修改。
常引用聲明格式:const 類型標識符 &變量名=目標變量名。
舉例:const int &iMyWeight = 67

2、將引用作爲函數返回值的格式、好處和需要遵守的規則?

答:格式:類型標識符& 函數名(形參列表){ 函數體 }

好處:返回值不會在內存中產生副本。

規則:a、不能返回局部變量的引用。
b、不能返回函數內部new分配的內存的引用。參照《Effective C++》第三版第21條。
c、可以返回類成員的引用,最好用const。
d、流操作符(<<和>>)重載返回值申明爲引用的作用:
◆ 流操作符<<和>>常常被連續使用,如cout<<“abc”<<endl;因此這兩操作符的返回值應該是一個仍然支持這兩操作符的流引用。(不太懂,先記下)
e、加減乘除這四個運算符不能返回引用。主要原因爲這四個操作符沒有side effect,它們必須構造一個對象作爲返回值。

3、“引用”與多態之間的關係?
答:和指針類似,基類的引用可以指向派生類的實例。

知識擴展

多閱讀《Effective C++》。

本文歸類

建議歸類到【C++】。

明日計劃

1、引用與指針的區別。
2、什麼時候需要引用。
3、結構與聯合有何區別?

參考文獻:

《C++筆試面試寶典2011版.docx》
《C++ Primer Plus》,第255頁,第8章,函數探幽,8.2節,引用變量。
《Effective C++》第三版,條款21,Don’t try to return a reference when you mustreturn an object.
深入剖析多態

今日收藏:

無。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章