Вектор::emplace нь C++ хэл дээрх STL бөгөөдбайрлалд шинэ элемент оруулах замаар савыг өргөтгөдөг. Дахин хуваарилалт нь илүү их зай шаардлагатай тохиолдолд л хийгддэг. Энд савны хэмжээ нэгээр нэмэгдэнэ.
Emplace функцийг юунд ашигладаг вэ?
C++ set emplace функцийг саванд шинэ элемент оруулах замаар багцын савыг сунгахад ашигладаг. Элементүүдийг шууд бүтээдэг (хуулаагүй, зөөгөөгүй). Элементийн үүсгэгчийг энэ функцэд дамжуулсан аргументуудыг аргумент болгон дууддаг.
Вектор emplace юу хийдэг вэ?
vector::emplace
Контейнерд -ийн өмнө шууд шинэ элемент оруулна. Элементийг std::allocator_traits::construct-оор бүтээдэг бөгөөд энэ нь ихэвчлэн байрлуулалт-new-г ашиглан элементийг савнаас заасан байршилд байрлуулдаг.
Дараалалд юу байршуулах вэ?
queue::emplace нь дарааллын саванд шинэ элемент оруулах эсвэл оруулахад хэрэглэгддэг Дарааллын бүтцийн функц нь бүтцийн төгсгөлд элемент оруулах явдал юм., байршуулахын тулд дарааллын контейнерийн төгсгөлд элементийг амжилттай оруулахын тулд emplace_back дуудна.
Эмплас болон түлхэх хоёрын ялгаа юу вэ?
Түлхэх функц нь утгын хуулбарыг эсвэл функцэд дамжуулсан параметрийг дээд талд байгаа саванд оруулах бол emplace функц нь параметрийн утга болгон шинэ элемент байгуулж, дараа нь үүнийг дээд талд нэмнэ. сав.