encountered “cleanup:” in a Foundation code sample in Xcode. What is this?

时间秒杀一切 提交于 2019-12-02 08:42:45

问题


so in some sample code from this upcoming Core Audio Book i've encountered an unfamiliar symbol

cleanup:

which is used before some dispose(myStuff) functions are called. It's not preceded by an '@' or a '#'. Seems you can type any word, followed by a colon, and it will act like a comment?

int main (int argc, const char * argv[])
{
    @autoreleasepool 
    {
        NSLog(@"i am code.");

    cleanup:    
    foop:
    lol:

        NSLog(@"even more code.");
    }
    return 0;
}

回答1:


It's not a comment. It's a label specifying a location for goto.

E.g.

int main (int argc, const char * argv[])
{
    while (1) {
        printf("Is this an infinite loop?\n");
        goto endLabel;
    }

    endLabel:    

    printf("No.");

    return 0;
}

Output:

Is this an infinite loop?
No.



回答2:


That's a label, to be used in a goto statement.



来源:https://stackoverflow.com/questions/8182104/encountered-cleanup-in-a-foundation-code-sample-in-xcode-what-is-this

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!