Junior — Middle
W jaki sposób w języku C++ można przekazać zmienną do funkcji: przez wartość, przez referencję czy przez wskaźnik?
sobes.tech AI
Odpowiedź od AI
В C++ переменную можно передать в функцию тремя основными способами:
- По значению — функция получает копию переменной. Изменения внутри функции не влияют на оригинал.
void foo(int x) {
x = 10; // изменение локальной копии
}
- По ссылке — функция получает ссылку на оригинальную переменную. Изменения внутри функции отражаются на исходной переменной.
void foo(int& x) {
x = 10; // изменит оригинал
}
- По указателю — функция получает адрес переменной. Для доступа к значению нужно разыменовывать указатель. Позволяет передавать nullptr и изменять оригинал.
void foo(int* x) {
if (x != nullptr) {
*x = 10; // изменит оригинал
}
}
Выбор способа зависит от задачи: если нужно изменить исходную переменную — лучше использовать ссылку или указатель; если нет — передавайте по значению.