Junior — Middle
Cum se poate transmite o variabilă într-un limbaj C++ către o funcție: prin valoare, prin referință sau prin pointer?
sobes.tech AI
Răspuns de la AI
В C++ переменную можно передать в функцию тремя основными способами:
- По значению — функция получает копию переменной. Изменения внутри функции не влияют на оригинал.
void foo(int x) {
x = 10; // изменение локальной копии
}
- По ссылке — функция получает ссылку на оригинальную переменную. Изменения внутри функции отражаются на исходной переменной.
void foo(int& x) {
x = 10; // изменит оригинал
}
- По указателю — функция получает адрес переменной. Для доступа к значению нужно разыменовывать указатель. Позволяет передавать nullptr и изменять оригинал.
void foo(int* x) {
if (x != nullptr) {
*x = 10; // изменит оригинал
}
}
Выбор способа зависит от задачи: если нужно изменить исходную переменную — лучше использовать ссылку или указатель; если нет — передавайте по значению.