如何正确传递对const指针的引用?

时间:2012-02-18 03:38:16

标签: visual-c++

我只是想知道如何有效地将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

}

1 个答案:

答案 0 :(得分:0)

别。只需按值传递指针即可。从语法上讲,被调用的函数更容易使用,并且开销更少。

void Func(const BigData *bigData)