Би C++ дээр объектын динамик хуваарилалтыг хэрхэн хязгаарлах вэ?
Би C++ дээр объектын динамик хуваарилалтыг хэрхэн хязгаарлах вэ?

Видео: Би C++ дээр объектын динамик хуваарилалтыг хэрхэн хязгаарлах вэ?

Видео: Би C++ дээр объектын динамик хуваарилалтыг хэрхэн хязгаарлах вэ?
Видео: C++ POINTERS (2020) - Ажиллаж байх үед массивыг хэрхэн үүсгэх/өөрчлөх вэ? (Динамик массив) ПРОГРАМЧЛАХ СУРГАЛТ 2024, Арванхоёрдугаар сар
Anonim

Стек дээр суурилсан объектууд далд хэлбэрээр удирддаг C++ хөрвүүлэгч. Тэд хамрах хүрээнээс гарах үед устгагдах ба динамикаар хуваарилагдсан объектууд устгах операторыг ашиглан гараар суллах ёстой санах ой гоожиж байна. C++ Java, C# зэрэг хэлнүүдийн ашигладаг хог хаягдлыг автоматаар цуглуулах аргыг дэмждэггүй.

Үүнийг харгалзан C++ хэл дээрх объектын динамик хуваарилалтыг хэрхэн хязгаарлах вэ?

Стек дээр суурилсан объектууд далд хэлбэрээр удирддаг C++ хөрвүүлэгч. Тэд хамрах хүрээнээс гарах үед устгагдах ба динамикаар хуваарилагдсан объектууд устгах операторыг ашиглан гараар суллах ёстой санах ой гоожиж байна. C++ Java, C# зэрэг хэлнүүдийн ашигладаг хог хаягдлыг автоматаар цуглуулах аргыг дэмждэггүй.

Нэмж дурдахад бид CPP дахь объектуудад санах ойг динамикаар хуваарилж чадах уу? Динамик санах ойн хуваарилалт төлөө Бид чадах объект бас объектуудыг динамикаар хуваарилах . гэх мэт бид Constructor нь шинэ анги гарч ирэх бүрт дуудагддаг ангийн гишүүн функц гэдгийг мэдэх обьект тэр ангиас бүтээгдсэн. Устгагч нь мөн ангийн гишүүн функц бөгөөд хэзээ ч дуудагддаг обьект хамрах хүрээнээс гардаг.

Хүмүүс мөн объектуудыг зөвхөн динамикаар хуваарилах боломжтой C++ ангиудыг яаж хийх вэ гэж асуудаг.

  1. Хийх боломжгүй. Таны хийж чадах цорын ганц зүйл бол бүтээгчийг хувийн болгох, мөн ангийн шинэ жишээг бүтээх статик үйлдвэртэй байх явдал юм. –
  2. Ийм анги үүсгэх нь мэдээжийн хэрэг асуудал юм.
  3. Энэ бол маш хачирхалтай шаардлага юм.

Бид яагаад объектуудыг динамик эхлүүлэх шаардлагатай байна вэ?

The Объектуудын динамик эхлэл гэсэн утгатай эхлүүлэх үүсгэх явцад тухайн ангийн өгөгдлийн гишүүд обьект . Хэзээ бид хүсдэг үүсгэх үед өгөгдлийн гишүүдэд анхны эсвэл анхдагч утгыг өгөх обьект - бидэнд хэрэгтэй хэрэглэх объектуудыг динамик эхлүүлэх.