嗨,我在遺留代碼中磕磕絆絆,我遇到了一個奇怪的方法定義/聲明。我對它的作用有一個有教育的猜測,但我還不能100%確定。此方法聲明/定義是什麼意思? (與傳遞數組有關?)
聲明:
const SomeEnumeratedId (&SomeMethod() const)[SOME_CONSTANT_VALUE];
定義
const SomeEnumeratedId (&SomeClass::SomeMethod() const)[SOME_CONSTANT_VALUE]
{
return someMemberArray;
}
我最好的猜測是,它是傳遞一個參考someMemberArray,它是保證它的大小SOME_CONSTANT_VALUE的,但我從來沒有見過方法聲明出現後的[]符號,並且有很多圓括號。
任何幫助非常感謝。
那麼方法告訴調用函數後,[SOME_CONSTANT_VALUE]返回的引用是否引用了該長度的數組?這是最讓我困惑的部分,因爲我從未在函數聲明中看到過這一部分。我只看到數組作爲引用或指針傳遞,最後沒有。 – Michael 2011-01-14 16:14:25