Назад к вопросам
Junior — Middle
84
Каким образом функция может изменить переданный ей параметр?
Ответ от нейросети
sobes.tech AI
В C/C++ функция может изменить переданный ей параметр несколькими способами:
- Передача по указателю — функция получает адрес переменной, и, разыменовывая указатель, изменяет значение по этому адресу.
void increment(int* p) {
(*p)++;
}
int main() {
int a = 5;
increment(&a); // a станет 6
}
- Передача по ссылке (C++ только) — функция получает ссылку на переменную, и изменения внутри функции отражаются на оригинале.
void increment(int& ref) {
ref++;
}
int main() {
int a = 5;
increment(a); // a станет 6
}
- Передача по значению с возвращением нового значения — функция не меняет параметр напрямую, но возвращает новое значение, которое можно присвоить переменной.
int increment(int val) {
return val + 1;
}
int main() {
int a = 5;
a = increment(a); // a станет 6
}
Таким образом, чтобы функция могла изменить параметр, его нужно передавать либо по указателю, либо по ссылке.