小括號(hào)內(nèi)聯(lián)復(fù)合表達(dá)式

A compound statement enclosed in parentheses may appear as an expression in GNU C.
此用法來(lái)自gcc官方說(shuō)明,源自gcc對(duì)c的擴(kuò)展,如今被clang繼承。

({ int y = foo (); int z;
   if (y > 0) z = y;
   else z = - y;
   z; })

在iOS中可以這樣使用:

    UIButton *pop = ({
        UIButton *button = [[UIButton alloc] initWithFrame: CGRectMake(160, 400, 120, 40)];
        button.backgroundColor = [UIColor redColor];
        [button setTitle: @"pop" forState: UIControlStateNormal];
        [button addTarget: self action: @selector(popView) forControlEvents: UIControlEventTouchUpInside];
        button;
    });

有點(diǎn)像block和內(nèi)聯(lián)函數(shù)的結(jié)合體,它最大的意義在于將代碼整理分塊,將同一個(gè)邏輯層級(jí)的代碼包在一起。

值的注意的是: 返回值和代碼塊結(jié)束點(diǎn)必須在結(jié)尾

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容