Вопросы с тегом «push-back»

126
Безопасно ли возвращать элемент из того же вектора?

vector<int> v; v.push_back(1); v.push_back(v[0]); Если второй push_back вызывает перераспределение, ссылка на первое целое число в векторе больше не будет действительной. Так это небезопасно? vector<int> v; v.push_back(1); v.reserve(v.size() + 1); v.push_back(v[0]); Это делает его...

86
Эффективность push_back () C ++ 11 с std :: move по сравнению с emplace_back () для уже построенных объектов

В C ++ 11, emplace_back()как правило, предпочтительнее (с точки зрения эффективности), push_back()поскольку он допускает создание на месте, но так ли это при использовании push_back(std::move())с уже созданным объектом? Например, что по- emplace_back()прежнему предпочтительнее в следующих случаях?...

31
Странное поведение с полями классов при добавлении в std :: vector

Я обнаружил очень странное поведение (на Clang и GCC) в следующей ситуации. У меня есть вектор, nodesс одним элементом, экземпляр класса Node. Затем я вызываю функцию, nodes[0]которая добавляет новый Nodeвектор. При добавлении нового узла поля вызывающего объекта сбрасываются! Однако они, похоже,...