Агуулгын хүснэгт:

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

Видео: С++ хэл дээрх ангийн объектыг динамикаар хуваарилахад ямар оператор ашигладаг вэ?

Видео: С++ хэл дээрх ангийн объектыг динамикаар хуваарилахад ямар оператор ашигладаг вэ?
Видео: SCP-261 Пан-мерное Торговый и эксперимент Войти 261 объявление Де + полный + 2024, Гуравдугаар сар
Anonim

C++ дэмждэг динамик хуваарилалт, хуваарилалт объектууд шинийг ашиглан устгана уу операторууд . Эдгээр операторууд хуваарилдаг зориулсан санах ой объектууд үнэгүй дэлгүүр гэж нэрлэгддэг усан сангаас. Шинэ оператор тусгай функцийг дууддаг оператор шинэ, устгах оператор тусгай функцийг дууддаг оператор устгах.

Ийм байдлаар C++ хэл дээр массив объектуудыг хэрхэн динамикаар хуваарилах вэ?

C++ Тэмдэглэл: Массивуудын динамик хуваарилалт

  1. Тогтмол хэмжээтэй массивтай холбоотой асуудлууд. Тогтмол хэмжээтэй массивыг зарлах нь.
  2. Массивыг заагч болгон зарлаж, new-ээр хуваарилна. Динамикаар хуваарилагдсан массивыг зааж өгөх хувьсагчийг үүсгэхийн тулд үүнийг элементийн төрөлд заагч болгон зарлана уу.
  3. Код>шинэтэй массив хуваарилна.
  4. Устгах замаар санах ойг чөлөөлж байна.
  5. Жишээ.

Нэмж дурдахад, та C++ хэл дээр санах ойг хэрхэн динамик байдлаар хуваарилж, хуваарилах вэ? C нь malloc() болон calloc() функцийг ашигладаг санах ойг динамикаар хуваарилах ажиллах үед бөгөөд чөлөөлөхийн тулд free() функцийг ашигладаг динамикаар хуваарилагдсан санах ой . C++ нь эдгээр функцийг дэмждэг бөгөөд шинэ, устгах гэсэн хоёр оператортой хуваарилж байна болон чөлөөлөх санах ой илүү сайн, хялбар аргаар.

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

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

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

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