這篇介紹的是讓廣大勞苦群眾又愛又恨的CCAssert运怖!
寧?kù)o的埃菲爾
CCAssert抬虽,也就是斷言啦,當(dāng)然了功能和斷點(diǎn)也挺相似的刑峡。
使用斷言可以創(chuàng)建更穩(wěn)定洋闽,品質(zhì)更好且不易于出錯(cuò)的代碼。具體用法看下面:
// 斷言表達(dá)式cond為真突梦,如果不為真诫舅,
則顯示字符串msg信息
下面舉第一個(gè)例子:
int i = 10;
CCAssert( i < 9,"i should small than 10");//不好意思,我英語是體育老師教的
//解釋下上面這句阳似,i<9就是斷言表達(dá)式了,當(dāng)i<9時(shí)表達(dá)式為true铐伴,程序繼續(xù)運(yùn)行撮奏,不會(huì)中斷俏讹。當(dāng)i>9,
//也就是上面寫的i=10,這時(shí)候表達(dá)式為false,那么程序就會(huì)中斷畜吊,然后拋出這句話:i should small than 10泽疆。
下面運(yùn)行下程序,如下圖:
Paste_Image.png
是的玲献,你沒看錯(cuò)殉疼,就是這個(gè)窗口。多少日日夜夜捌年,多少風(fēng)風(fēng)雨雨瓢娜,我們對(duì)著它發(fā)呆,對(duì)著它落淚礼预,對(duì)著它傻笑...
下面第二個(gè)例子眠砾,其他和第一個(gè)差不多啦。
auto boy = Sprite::create("boy.png");
boy->setTag(1);//設(shè)置tag為1
this->addChild(boy);
auto girl = Sprite::create("girl.png");
girl->setTag(2);//設(shè)置tag為2
this->addChild(girl);
創(chuàng)建一個(gè)根據(jù)選取精靈的函數(shù)
void switchSp(int sp_tag)
{
switch (sp_tag)
{
case 1:
CCLOG("choose human is boy");//選擇的是boy
break;
case 2:
CCLOG("choose human is girl");//選擇的是girl
break;
default:
CCAssert(false,"choose tag should be 1 or 2");//兩個(gè)都不是的情況使用斷言
break;
}
}
簡(jiǎn)單的解釋下托酸,如果傳入的參數(shù)是1褒颈,則選擇的是boy,如果是2励堡,則選擇girl谷丸,如果都不是,那么就報(bào)錯(cuò)应结。斷言表達(dá)式用false或者0代替刨疼,則可直接中斷程序。
恩摊趾,就這樣吧币狠。請(qǐng)不要嫌這篇短小。用英雄聯(lián)盟小智的話來說就是:雖然短砾层,但可以旋轉(zhuǎn)漩绵。你懂的。
尊重原創(chuàng)肛炮,轉(zhuǎn)載請(qǐng)注明來源:https://blog.csdn.net/start530/article/details/23000365