Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Вопрос по языку


Автор: comp 2.11.2007, 00:50
Код

int a[nn];
int rec(int n) {
  int& ret = a[n];
  return ret;
}


В чём отличие int& ret = a[n]; от int ret = a[n];...???

Автор: Kuvaldis 2.11.2007, 01:07
Отличие в том, что при изменении ссылки int& ret на переменную 
например так, 
ret = 10;  
автоматически изменяется и сама переменная a[n]
при простом присваивании идет копирование, поэтому изменение ret не приведут к изменению a[n]
Это особенно часто применяется при передаче и возврате параметров
Если знаешь pascal, то это наподобие var параметров 

Автор: comp 2.11.2007, 01:22
Нда...
thnx!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)