Junior — Middle
По какъв начин в езика C++ може да се предаде променлива на функция: по стойност, по референция или по указател?
sobes.tech AI
Отговор от AI
В C++ переменную можно передать в функцию тремя основными способами:
- По значению — функция получает копию переменной. Изменения внутри функции не влияют на оригинал.
void foo(int x) {
x = 10; // изменение локальной копии
}
- По ссылке — функция получает ссылку на оригинальную переменную. Изменения внутри функции отражаются на исходной переменной.
void foo(int& x) {
x = 10; // изменит оригинал
}
- По указателю — функция получает адрес переменной. Для доступа к значению нужно разыменовывать указатель. Позволяет передавать nullptr и изменять оригинал.
void foo(int* x) {
if (x != nullptr) {
*x = 10; // изменит оригинал
}
}
Выбор способа зависит от задачи: если нужно изменить исходную переменную — лучше использовать ссылку или указатель; если нет — передавайте по значению.