конструкцией?
vector<firstConv> poolFirstConv;
void func(){
firstConv tempConv;
poolFirstConv.back() = tempConv;
}
Во-первых, меня смущает, не пропадёт ли этот элемент из вектора, после завершения исполнения функции.
Во-вторых, ещё немного смущает что что сама замена происходит не каким-либо внутренним методом вектора, а тупо сменой адреса элемента.
Я же правильно понимаю, в этом коде функция создаёт tempConv, потом последнем элементу вектора устанавливает адрес tempConv, и после выхода из процедуры исчезает переменная tempConv, но содержимое её живёт по адресу последнего элемента вектора и затёрто не будет при дальнейшей работе?
Здесь произойдет копирование внутрь вектора. Вернее перезапись последнего элемента. Если он есть, конечно. Если нет, то UB, наверное.
понял, спасибо!
Обсуждают сегодня