Главная » C++ энциклопедия » К » Константные аргументы функций
Категория: C++ энциклопедия » К
  • 0

12 дек 2011

Автор: admin

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

void f(const int* p) 
{
  *p = 17;    // Нельзя
  int i = 29;
  p = &i;    // Можно, но зачем?
}
// Где-то в программе
int i = 17;
f(&i); // Порядок, фактический аргумент не обязан быть константой


Обратите внимание — аргумент, указанный при вызове функции, не обязан быть константным. Этот вопрос целиком остается на усмотрение стороны-получателя. Передача по ссылке осуществляется по тем же правилам, что и передача по адресу.

void f(const int& p) 
{
  p = 17;    // Нельзя
  int i = 29;
  p = i;    // Можно (на грани фола)
}
// Где-то глубоко в программе
int i = 17;
f(i);   // Порядок
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.