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節,引用變量。
深入剖析多態
今日收藏:
無。