170 похожих чатов

Скажите, пожалуйста, насколько корректно заменять последний элемент вектора вот такой

конструкцией?

vector<firstConv> poolFirstConv;
void func(){
firstConv tempConv;
poolFirstConv.back() = tempConv;
}

Во-первых, меня смущает, не пропадёт ли этот элемент из вектора, после завершения исполнения функции.

Во-вторых, ещё немного смущает что что сама замена происходит не каким-либо внутренним методом вектора, а тупо сменой адреса элемента.

Я же правильно понимаю, в этом коде функция создаёт tempConv, потом последнем элементу вектора устанавливает адрес tempConv, и после выхода из процедуры исчезает переменная tempConv, но содержимое её живёт по адресу последнего элемента вектора и затёрто не будет при дальнейшей работе?

2 ответов

9 просмотров

Здесь произойдет копирование внутрь вектора. Вернее перезапись последнего элемента. Если он есть, конечно. Если нет, то UB, наверное.

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
85
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Вопрос вроде правильно, но что надо сделать, чтоб текст был виден нормально ? ghci> TE.decodeUtf8 $ TE.encodeUtf8 "test - проба" "test - \1087\1088\1086\1073\1072"
Fedor
7
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Карта сайта