2012-02-18 31 views
0

我只是想知道如何有效地傳遞一個引用到一個類的對象的const指針。 例如,如何正確傳遞對const指針的引用?

class BigData 
{ 
public: 
    int m[1000]; 
}; 

void Func(const BigData* const& bigData) 
{ 
// just read bigData; No modification on bigData. 
} 

int main() 
{ 
    BigData* bigData = new BigData(); 
    Func(bigData); 
} 

上面的例子,我不明白爲什麼我有引用(&)之前把常量。 如果我嘗試建立它沒有參考,編譯器抱怨 無法從「BigData *」轉換參數1到「常量BigData * &」

好像它與R值的規則,但我不不知道什麼規則確切地支配了這種情況。

TIA

}

回答

0

不要。只需按值傳遞指針即可。在語法上,被調用的函數使用起來更容易,並且開銷較小。

void Func(const BigData *bigData)