[英]What does exit: do
我正在阅读一些针对openThread的C ++代码,但我从未编程过C ++,但我想知道exit:
是什么exit:
在底部附近执行,然后return error;
有一个exit:
有什么区别exit:
没有exit:
ThreadError otGetParentInfo(otInstance *aInstance, otRouterInfo *aParentInfo)
{
ThreadError error = kThreadError_None;
Router *parent;
VerifyOrExit(aParentInfo != NULL, error = kThreadError_InvalidArgs);
parent = aInstance->mThreadNetif.GetMle().GetParent();
memcpy(aParentInfo->mExtAddress.m8, parent->mMacAddr.m8, OT_EXT_ADDRESS_SIZE);
aParentInfo->mRloc16 = parent->mValid.mRloc16;
exit:
return error;
}
这是GOTO语句的标记。
它允许程序从(几乎)代码中的任意点跳转到该标记。 当您无法从深层嵌套的结构中返回而不使用大量的break
语句或类似情况时,通常用于硬件编程或嵌入式编程。
exit:
该标签与goto
一起使用。 当某些错误情况发生时,通常使用goto
lable
从代码块中跳出。
其他答案是正确的,但并未明确说明标签可以是不是保留关键字的任何单词。 exit
就是这样一个名字。
另外,在您的示例中,没有相应的goto exit;
正常的程序执行只是绕过标签,与功能无关。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.