• 8- set va multisetning operator= dasturning qaysi qismlarida foydalanilgan va nima uchun
  • Xatoni tuzatish uchun quyidagi yechimdan foydalanish mumkin




    Download 122,84 Kb.
    bet6/12
    Sana15.05.2024
    Hajmi122,84 Kb.
    #234504
    1   2   3   4   5   6   7   8   9   ...   12
    Bog'liq
    3-mustaqil ish dasturlash Abduganiyev

    Xatoni tuzatish uchun quyidagi yechimdan foydalanish mumkin:

    for (set::reverse_iterator rit = myset.rbegin(); rit != myset.rend(); ++rit)


    std::cout << ' ' << *rit;
    7- myset.swap(second): ni o’rniga second.swap(first); yozilsa nima hodisa sodir buladi:

    Agar myset.swap(second); o'rniga second.swap(first); yozilsa, quyidagilar sodir bo'ladi:


    myset.swap(second);
    Bu holda myset va second konteynerlar o'zaro almashtiriladi. myset konteynerining elementi second konteyneriga, second konteynerining elementi esa myset konteyneriga o'tadi.

    Endi second.swap(first); yozilsa:


    second.swap(first);
    Bu yerda second va first konteynerlar o'zaro almashtiriladi. second konteynerining elementi first konteyneriga, first konteynerining elementi esa second konteyneriga o'tadi.


    8- set va multisetning operator= dasturning qaysi qismlarida foydalanilgan va nima uchun:
    set va multiset turlari uchun operator= dasturning quyidagi qismlarida qo'llanilgan:
    1. second = first;
    set second;
    second = first;
    Bu yerda first setning nusxasi second setga yuklanadi. operator= bu yerda set konteynerlari orasidagi nusxalash uchun ishlatilgan.
    2. myset.swap(second);
    myset.swap(second);
    Bu holda myset va second setlari o'zaro almashinadi. operator= emas, balki swap() operatori ishlatilgan.


    Nima uchun operator= ishlatilgan?

    set va multiset konteynerlar statik o'lchamlarga ega bo'lgan konteynerlar, ularning mazmunini operator= yordamida nusxalash mumkin. Bu second konteyneriga first konteynerning to'liq nusxasini olish uchun qo'l keladi.


    Agar second konteynerida oldin elementlar bo'lsa, ular yangi first konteynerning elementlari bilan almashinadi. Bu operator= yordamida amalga oshiriladi.


    Shuningdek, swap() operatori ham bu konteynerlar uchun qo'llanilgan, chunki ular tezkor va samarali bajariladi.


    Xulosa qilib aytganda, set va multiset konteynerlar uchun operator= nusxalash, swap() esa konteynerlarni almashtirish uchun qo'llanilgan.





    Download 122,84 Kb.
    1   2   3   4   5   6   7   8   9   ...   12




    Download 122,84 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Xatoni tuzatish uchun quyidagi yechimdan foydalanish mumkin

    Download 122,84 Kb.