Как правильно передать ссылку на указатель const? - PullRequest
0 голосов
/ 18 февраля 2012

Мне просто интересно, как я могу эффективно передать ссылку на константный указатель на объект класса.Например,

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 голосов
/ 18 февраля 2012

Не.Просто передайте указатель по значению.Синтаксически, вызываемой функции легче пользоваться, и она будет иметь меньше служебных данных.

void Func(const BigData *bigData)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...