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;
}