簡介:引用是支持運(yùn)算符重載語法的基礎(chǔ),也為函數(shù)參數(shù)的傳入和傳出控制提供了便利箫爷;拷貝構(gòu)造函數(shù);成員指針;
11.1 C++中的指針
C++對類型要求更為嚴(yán)格
11.2 C++中的引用
應(yīng)用要點(diǎn):任何引用必須和存儲(chǔ)單元聯(lián)系扼仲。訪問引用時(shí),就是在訪問那個(gè)存儲(chǔ)單元抄淑。
可以把引用當(dāng)作一個(gè)奇特的指針:不必懷疑它是否被初始化了屠凶,也不必知道怎樣對它間接引用。
規(guī)則:
1. 當(dāng)引用被創(chuàng)建肆资,它必須被初始化矗愧。
2. 一旦一個(gè)引用被初始化為指向一個(gè)對象,它就不能改變?yōu)榱硪粋€(gè)對象的引用郑原。
3. 不可能有NULL引用唉韭。
傳值方式需要調(diào)用構(gòu)造函數(shù)和析構(gòu)函數(shù),然而如果想改變參數(shù)犯犁,則可通過常量引用傳遞纽哥,它僅需要將地址壓棧。
11.3 拷貝構(gòu)造函數(shù)
僅當(dāng)準(zhǔn)備用按值傳遞的方式傳遞類對象是栖秕,才學(xué)要拷貝構(gòu)造函數(shù)春塌。
防止按值傳遞:
NoCC(const NoCC&)
當(dāng)自己沒有創(chuàng)建一個(gè)拷貝構(gòu)造函數(shù)時(shí),編譯器將自動(dòng)地生成拷貝構(gòu)造函數(shù)。所生成的拷貝構(gòu)造函數(shù)將對基本類型執(zhí)行位拷貝只壳,而對用戶定義的類型執(zhí)行拷貝構(gòu)造函數(shù)俏拱。
11.4 指向成員的指針
指針是指向一些內(nèi)存地址的變量,既可以是數(shù)據(jù)地址也可以是函數(shù)地址吼句。
成員指針是受限制的锅必,它們僅能被指定給在類中的確定位置,但不能像使用普通指針那樣增加或比較成員指針惕艳。