我閱讀和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;
}
它的標籤,在這裏http://en.cppreference.com/w/cpp/language/goto – Stargateur
DOC這看起來像一個goto標籤。在任何情況下,在C++中使用goto都是非常令人沮喪的。另外,我真的不確定爲什麼當你從來沒有用C++編程時,你爲什麼要閱讀一些線程錯誤。 –
@MarošBeťko我們能不能進入這個...... goto有合理的好用途,就像打破嵌套循環或清理資源一樣(當你不覺得像RAII-封裝API暴露的每一種類型時)。 – user1610015