Вектор::emplace C++ тіліндегі STLпозициясына жаңа элемент енгізу арқылы контейнерді кеңейтеді. Қайта бөлу көбірек орын қажет болған жағдайда ғана орын алады. Мұнда контейнер өлшемі бір есе артады.
Emplace функциясы не үшін пайдаланылады?
C++ жиынын орналастыру функциясы контейнерге жаңа элементтерді кірістіру арқылы жинақ контейнерін кеңейту үшін пайдаланылады. Элементтер тікелей құрастырылады (көшірілмейді де, жылжытылмайды да). Элементтің конструкторы осы функцияға берілген аргументтердің аргументтерін беру арқылы шақырылады.
Vektor emplace не істейді?
vector::emplace
Жаңа элементті контейнергепозициясынан тікелей кірістіреді. Элемент std::allocator_traits::construct арқылы құрастырылады, ол әдетте контейнер ұсынған жерде элементті орнында тұрғызу үшін placement-new пайдаланады.
Кезекте не бар?
queue::emplace - кезек контейнеріне жаңа элементті кірістіру немесе орналастыру үшін пайдаланылады Кезек құрылымының функционалдығы құрылымның соңына енгізілген элемент болып табылады., кезек контейнерінің соңына элементті сәтті кірістіру үшін emplace_back шақырады.
Emplace және push арасындағы айырмашылық неде?
Push функциясы функцияға берілген мәннің немесе параметрдің көшірмесін жоғарғы жағындағы контейнерге енгізген кезде, emplace функциясы параметрдің мәні ретінде жаңа элементті құрастырады, содан кейін оны параметрдің жоғарғы жағына қосады. контейнер.