do{ }while(0)使用的解釋
創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、網(wǎng)站制作與策劃設(shè)計,元寶網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:元寶等地區(qū)。元寶做網(wǎng)站價格咨詢:028-86922220
do{ }while(0)寫法的目的主要是為了程序基礎(chǔ)函數(shù)的健壯性和通用性,和一些代碼的靈活使用。
do{ }while(0)寫法會讓內(nèi)部的代碼執(zhí)行一次后退出,如果不使用這種寫法,會對那些如if語句后面不緊跟{}的程序員造成編譯錯誤,而對那些使用{}編程習(xí)慣的則無影響。
舉例:
#define SAFE_DELETE(p) do{ delete p; p = NULL} while(0) //1.使用 do{ }while(0)寫法
#define SAFE_DELETE(p) { delete p; p = NULL} //2.使用{}寫法
#define SAFE_DELETE(p) delete p; p = NULL //3.什么都不使用的寫法
if(NULL != p) SAFE_DELETE(p) //1.無問題 2.無問題 3.有問題,else前面有2條語句,編譯失敗
else ...do sth...
if(NULL != p) SAFE_DELETE(p); //1.無問題 2.有問題,括號后面跟;編譯失敗 3.有問題,else前面有2條 else ...do sth... //語句,編譯失敗
if(NULL != p) {SAFE_DELETE(p)} //1.無問題 2.無問題 3.無問題
else ...do sth...
分享名稱:深入理解php內(nèi)核閱讀1
本文網(wǎng)址:http://jinyejixie.com/article0/psehoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)