Передача аргументов по ссылке и по значению
Как и с базовыми типами, объекты в аргументах функции можно передавать по значению и по ссылке. По умолчанию объекты передаются по значению. Для передачи аргумента по ссылке перед именем аргумента указывается оператор &. Пример передачи аргумента-объекта по ссылке и по значению приведен ниже.
#includeusing namespace std; class MyClass{ public: double x; }; //Передача аргумента по значению: double f1(MyClass obj){ obj.x*=10; return obj.x; } //Передача аргумента по ссылке: double f2(MyClass &obj){ obj.x*=10; return obj.x; } int main(){ MyClass obj; obj.x=5; cout << "x = " << f1(obj) << endl; cout << "x = " << obj.x << endl; cout << "x = " << f2(obj) << endl; cout << "x = " << obj.x << endl; return 0; }