2012-02-18 72 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)