Visual c++ 如何正确传递对常量指针的引用?

Visual c++ 如何正确传递对常量指针的引用?,visual-c++,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指针的引用传递给类的对象。 比如说,

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放在reference(&)之前。 如果我试图在没有引用的情况下构建它,编译器会抱怨 无法将参数1从“BigData*”转换为“const BigData*&”

似乎它和R值规则有关,但我不知道到底是什么规则控制了这个案例

短暂性脑缺血发作


}不要。只需按值传递指针。从语法上讲,被调用函数更容易使用,开销也更小

void Func(const BigData *bigData)