20200401_什麼是引用

20200401_什麼是引用

一、相關術語

  • 引用
    C++引進的新概念,和指針有相同之處。

二、筆試題

1、請寫出函數執行結果(微軟)。

int fun(x) { int countx=0; while(x) { countx++; x=x&(x-1); } return countx; }
假定x=9999,輸出多少?

答:將x轉換爲二進制,查1的個數。9999=(0010 0111 0000 1111),答案爲8。

2、什麼是引用?與指針有何區別?

答:引用是已定義變量的【別名】。——《C++ Primer PLUS》原話。與指針的區別:
a.引用是一個別名,不佔用內存空間。指針是一個地址,需要內存分配空間。
b.初始化引用必須聲明。指針可以爲空指針。
c.不能建立數組的引用。指針可以指向數組。
(待補充)

3、將引用做爲函數參數有哪些特點?
答:和傳值不同,不需要內存拷貝一個副本。比指針好的地方在於,它不佔用內存空間。

知識擴展

按位與操作,相同的1爲1,相同的0爲0,不同爲0。

本文歸類

建議歸類到【C++】。

明日計劃

1、什麼情況下需要使用常引用?
2、將引用作爲函數返回值類型的格式、好處和需要遵守的規則?
3、引用與多態的關係。

參考文獻:

《C++筆試面試寶典2011版.docx》
《C++ Primer Plus》,第255頁,第8章,函數探幽,8.2節,引用變量。
深入剖析多態

今日收藏:

無。

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