Skip to content

Tuzilmalarni uzatish (Pass Structures to a Function)

Tuzilmani funksiyaga uzatish

Funksiyaga tuzilma ham uzatish mumkin. Bu funksiya ichida guruhlangan ma'lumotlar bilan ishlash kerak bo'lganda foydali:

MISOL

cpp
struct Car {
  string brand;
  int year;
};

void myFunction(Car c) {
  cout << "Marka: " << c.brand << ", Yili: " << c.year << "\n";
}

int main() {
  Car myCar = {"Toyota", 2020};
  myFunction(myCar);
  return 0;
}

ESLATMA

Tuzilma qiymat bo'yicha uzatilgani uchun, funksiya tuzilmaning nusxasini oladi. Bu asl ma'lumotlar o'zgarmasligini bildiradi.


Havola orqali uzatish

Tuzilmani & yordamida havola orqali ham uzatish mumkin. Bu funksiyaga asl ma'lumotlarni o'zgartirish imkonini beradi:

MISOL

cpp
struct Car {
  string brand;
  int year;
};

void updateYear(Car& c) {
  c.year++;
}

int main() {
  Car myCar = {"Toyota", 2020};
  updateYear(myCar);
  cout << myCar.brand << " endi " << myCar.year << " yildan.\n";
  return 0;
}

MASLAHAT

Funksiyaning tuzilma ma'lumotlarini o'zgartirishini xohlasangiz yoki katta tuzilmalarni nusxalashdan qochish uchun havola ishlatish tavsiya etiladi.