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

выше примера, я не совсем понимаю, почему я должен положить сопзЬ перед тем заданием (&). Если я пытаюсь построить его без ссылки, компилятор жалуется не может преобразовать параметр 1 из «BigData *» до «константных BigData * &»

Похоже, что это связано с правилом R-значение, но я не» Знайте, какое правило точно регулирует этот случай.

ТИА

}

ответ

0

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

void Func(const BigData *bigData) 
Смежные вопросы