我正在阅读一些针对openThread的C ++代码,但我从未编程过C ++,但我想知道exit:在底部附近跟着return error;的作用

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语句或类似情况时,通常用于硬件编程或嵌入式编程。

关于c++ - 退出什么:做,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40995261/

10-11 22:48