php拷貝構(gòu)造函數(shù)、賦值運(yùn)算符重載_PHP教程
推薦:php讀取操作大文件,超出內(nèi)存大小,三種方法在php中,對(duì)于文件的讀取時(shí),最快捷的方式莫過(guò)于使用一些諸如file、file_get_contents之類(lèi)的函數(shù),簡(jiǎn)簡(jiǎn)單單的幾行代碼就能 很漂亮的完成我們所需要的功能。但當(dāng)所操作的文件是一個(gè)比較大的文件時(shí),這些函數(shù)可能就顯的力不從心, 下面將從一個(gè)需求入手來(lái)說(shuō)明對(duì)于讀取大文
對(duì)象的賦值與復(fù)制: 賦值:通過(guò)“ = ”運(yùn)算符重載
User a(10),b;
b = a;
復(fù)制:調(diào)用復(fù)制構(gòu)造函數(shù)
User b;
User a(b);
或者
User a = b;//相當(dāng)于User a(b);
與賦值的區(qū)別,賦值是對(duì)一個(gè)已經(jīng)存在的對(duì)象進(jìn)行賦值(已經(jīng)實(shí)現(xiàn)定義了被賦值的對(duì)象),而復(fù)制是從無(wú)到有建立一個(gè)新的對(duì)象,并使它與已有的對(duì)象相同。
淺復(fù)制與深復(fù)制: 若對(duì)象中有指針成員,在復(fù)制時(shí),只會(huì)將該指針成員的地址復(fù)制給新建立的對(duì)象,因此,兩個(gè)對(duì)象中的指針成員都指向了同一塊內(nèi)存區(qū)域,在釋放時(shí)會(huì)出現(xiàn)重復(fù)釋放的問(wèn)題。 需要手動(dòng)定義復(fù)制構(gòu)造函數(shù),在構(gòu)造函數(shù)中將為指針變量分配新的內(nèi)存,是不同對(duì)象的指針成員指向不同的內(nèi)存區(qū)域。
用到拷貝構(gòu)造函數(shù)的三種情況: 1、需要建立一個(gè)新對(duì)象,并用另一個(gè)同類(lèi)對(duì)象對(duì)其進(jìn)行初始化 2、函數(shù)的參數(shù)為類(lèi)的對(duì)象時(shí),在調(diào)用函數(shù)時(shí)需要建立一個(gè)實(shí)參的拷貝,按實(shí)參復(fù)制一個(gè)形參,系統(tǒng)是通過(guò)調(diào)用拷貝構(gòu)造函數(shù)實(shí)現(xiàn)的 3、函數(shù)的返回值是類(lèi)的對(duì)象:函數(shù)調(diào)用結(jié)束時(shí),需要將函數(shù)中的對(duì)象復(fù)制一個(gè)臨時(shí)對(duì)象,并傳給該函數(shù)的調(diào)用處。
User getUser()
{
User temp;
return temp;
}
int main()
{
User user = getUser();//調(diào)用getUser();
}
getUser()函數(shù)調(diào)用結(jié)束時(shí),getUser中建立的對(duì)象temp的生命周期結(jié)束(即將銷(xiāo)毀),所以不是將temp帶回main,而是在執(zhí)行return語(yǔ)句時(shí),調(diào)用User類(lèi)的拷貝構(gòu)造函數(shù),按temp拷貝一個(gè)新的、對(duì)象,然后將它賦值給user.
分享:php數(shù)組排序A.內(nèi)部排序(直接加載到內(nèi)存進(jìn)行排序):包括交換式排序(冒泡和快速法)、選擇式排序、插入式排序 B.外部排序(因數(shù)據(jù)量大,需借助外部存儲(chǔ)進(jìn)行排序):包括合并排序、直接合并排序 【冒泡排序:從后向前,依次比較相鄰元素的排序碼,若發(fā)現(xiàn)逆序則交換,一輪結(jié)束后,再
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶(hù)端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-php拷貝構(gòu)造函數(shù)、賦值運(yùn)算符重載
。