Skip to content

Havola orqali uzatish (Pass By Reference) ​

Havola orqali uzatish ​

Oldingi sahifada funksiyaga oddiy o'zgaruvchilarni parametr sifatida uzatdik. Bundan tashqari, funksiyaga havola ham uzatish mumkin.

Bu argument(lar) qiymatini o'zgartirish kerak bo'lganda foydali:

MISOL — Butun sonni havola orqali uzatish

cpp
void changeValue(int &num) {
  num = 50;
}

int main() {
  int value = 10;
  changeValue(value);  // Funksiyani chaqirish va qiymatni 50 ga o'zgartirish
  cout << value;
  return 0;
}

MISOL — Ikki sonni almashtirish

cpp
void swapNums(int &x, int &y) {
  int z = x;
  x = y;
  y = z;
}

int main() {
  int firstNum = 10;
  int secondNum = 20;

  cout << "Almashtirishdan oldin:\n";
  cout << firstNum << " " << secondNum << "\n";

  swapNums(firstNum, secondNum);

  cout << "Almashtirishdan keyin:\n";
  cout << firstNum << " " << secondNum << "\n";

  return 0;
}

MISOL — Matnni havola orqali uzatish

cpp
void modifyStr(string &str) {
  str += " Dunyo!";
}

int main() {
  string greeting = "Salom";
  modifyStr(greeting);
  cout << greeting;
  return 0;
}