Устгах [] болон устгах хоёрын гол ялгаа нь юу вэ?
Устгах [] болон устгах хоёрын гол ялгаа нь юу вэ?

Видео: Устгах [] болон устгах хоёрын гол ялгаа нь юу вэ?

Видео: Устгах [] болон устгах хоёрын гол ялгаа нь юу вэ?
Видео: ЖАДАМ Лекц Хэсэг 18. Химийн пестицидийг орлож чадах JNP ШИЙДЭЛ. 2024, Дөрөвдүгээр сар
Anonim

Яагаад тусдаа байдаг вэ устгах болон устгах операторууд бол тэр устгах харин onedestructor гэж дууддаг устгах массивын хэмжээг хайж, олон устгагчийг дуудах хэрэгтэй. Мэдээжийн хэрэг, нэгийг нь шаардлагатай газар ашиглах нь асуудал үүсгэдэг.

Үүнээс гадна үнэгүй () болон устгах хоёрын ялгаа нь юу вэ?

Устгах хоорондын ялгаа оператор ба үнэгүй() функц устгах оператор бол харин үнэгүй() номын сангийн функц юм. үнэгүй устгах хуваарилагдсан санах ой болон дуудлагын устгагч. Гэхдээ үнэгүй() санах ойг хуваарилах боловч устгагчийг дууддаггүй. устгах -аас хурдан байна үнэгүй() Учир нь оператор нь функцээс үргэлж хурдан байдаг.

C ++ хэл дээр устгах нь юу хийдэгийг мэдэх үү? устгах ()-д C ++ Устгах нь оператор байна массив болон массив бус(заагч) объектуудыг устгахад ашигласан байна шинэ илэрхийллээр бий болсон. Юу гэсэн үг вэ гэхээр Устгах оператор нь овоолгын санах ойг хуваарилдаг. Объект руу заагч байна устгагдаагүй, утга эсвэл санах ойн блок заагчаар заана байна устгасан.

Эндээс устгах, устгах хоёрын ялгаа нь юу вэ?

Устгах болон арилгах ижил төстэй байдлаар тодорхойлогддог боловч гол нь хоорондын ялгаа тэд бол тэр устгах гэсэн үг арилгах (өөрөөр хэлбэл, байхгүй болсон эсвэл нөхөн сэргээх боломжгүй болгосон), харин арилгах холбосон, тогтсон гэсэн утгатай (гэхдээ хэвээр хадгалагдан үлдсэн).

Устгагч нь устгах оператороос юугаараа ялгаатай вэ?

Эхнийх нь устгагч , бүрэн объект гэж нэрлэдэг устгагч , дуудлагагүйгээр устгалыг гүйцэтгэдэг устгах () объект дээр. Хоёрдугаарт устгагч , гэж нэрлэдэг устгагчийг устгаж байна , дуудлага устгах () объектыг устгасны дараа. Хэрэв объект устгагдсан боловч устгагдаагүй бол устгасан овооноос, дуудаж байна оператор устгах буруу.

Зөвлөмж болгож буй: