Передача аргумента по значению в С++
В С++ существует два механизма передачи аргументов функциям: по значению и через ссылку. При передаче аргумента функции по значению
при вызове функции для переменных, которые указаны ее аргументами, создаются копии, которые фактически и передаются функции. После завершения выполнения кода функции эти копии уничтожаются (выгружаются из памяти). При передаче аргументов функции по ссылке функция получает непосредственный доступ (через ссылку) к переменным, указанным аргументами функции. С практической точки зрения разница между этими механизмами заключается в том, что при передаче аргументов по значению изменить передаваемые функции аргументы в теле самой функции нельзя, а при передаче аргументов по ссылке - можно. По умолчанию используется механизм передачи аргументов функции по значению. Пример передачи аргумента по значению приведен в следующем коде.
#includeusing namespace std; //Аргумент передается по значению: int incr(int m){ m=m+1; return m; } int main(){ int n=5; cout << "n =" << incr(n) << endl; cout << "n =" << n << endl; return 0; }