我只是想知道如何有效地将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);
}
上面的例子,我不太明白为什么我必须在引用之前放置const(&)。 如果我尝试在没有引用的情况下构建它,编译器会抱怨 无法将参数1从'BigData *'转换为'const BigData *&'
似乎它与R值规则有关但我不知道什么规则完全支配这种情况。
TIA
}
答案 0 :(得分:0)
别。只需按值传递指针即可。从语法上讲,被调用的函数更容易使用,并且开销更少。
void Func(const BigData *bigData)