мета-данные страницы
  •  

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
cpp:cpp_ultimate_guide:references [2025/10/31 16:17] – создано radi0devcpp:cpp_ultimate_guide:references [2025/11/09 12:07] (текущий) – внешнее изменение A User Not Logged in
Строка 21: Строка 21:
  
  
 +===== Передача аргумента по ссылке =====
  
 +При передаче параметров по ссылке передается ссылка на объект, через которую мы можем манипулировать самим объектов, а не просто его значением. Чем то это похоже на передачу казателя на объект.
 +
 +<code cpp>
 +#include <iostream>
 +  
 +void square(int&); // прототип функции
 +  
 +int main() {
 +  int n {4};
 +  std::cout << "Before square: n = " << n << std::endl;
 +  square(n);
 +  std::cout << "After square: n = " << n << std::endl;
 +}
 +
 +void square(int& m) {
 +  m = m * m; // изменяем значение параметра
 +  std::cout << "In square: m = " << m << std::endl;
 +}
 +</code>
 +
 +Теперь параметр m передается по ссылке. Ссылочный параметр связывается непосредственно с объектом, поэтому через ссылку можно менять сам объект. То есть здесь при вызове функции параметр m в функции square будет представлять тот же объект, что и переменная n