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

9
Безопасно ли возвращать элемент из того же вектора?
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]); Это делает его безопасным?

2
Эффективность push_back () C ++ 11 с std :: move по сравнению с emplace_back () для уже построенных объектов
В C ++ 11, emplace_back()как правило, предпочтительнее (с точки зрения эффективности), push_back()поскольку он допускает создание на месте, но так ли это при использовании push_back(std::move())с уже созданным объектом? Например, что по- emplace_back()прежнему предпочтительнее в следующих случаях? std::string mystring("hello world"); std::vector<std::string> myvector; myvector.emplace_back(mystring); myvector.push_back(std::move(mystring)); // (of course assuming we don't care about …

2
Странное поведение с полями классов при добавлении в std :: vector
Я обнаружил очень странное поведение (на Clang и GCC) в следующей ситуации. У меня есть вектор, nodesс одним элементом, экземпляр класса Node. Затем я вызываю функцию, nodes[0]которая добавляет новый Nodeвектор. При добавлении нового узла поля вызывающего объекта сбрасываются! Однако они, похоже, снова возвращаются в нормальное состояние после завершения функции. Я …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.