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