Sobes.tech
Назад к вопросам
Junior — Middle
84

Каким образом в языке C++ можно передать переменную в функцию: по значению, по ссылке или по указателю?

Компании, где спрашивали
ФГАНУ НИИ

Ответ от нейросети

sobes.tech AI

В C++ переменную можно передать в функцию тремя основными способами:

  1. По значению — функция получает копию переменной. Изменения внутри функции не влияют на оригинал.
void foo(int x) {
    x = 10; // изменение локальной копии
}
  1. По ссылке — функция получает ссылку на оригинальную переменную. Изменения внутри функции отражаются на исходной переменной.
void foo(int& x) {
    x = 10; // изменит оригинал
}
  1. По указателю — функция получает адрес переменной. Для доступа к значению нужно разыменовывать указатель. Позволяет передавать nullptr и изменять оригинал.
void foo(int* x) {
    if (x != nullptr) {
        *x = 10; // изменит оригинал
    }
}

Выбор способа зависит от задачи: если нужно изменить исходную переменную — лучше использовать ссылку или указатель; если нет — передавайте по значению.