Запитання з тегом «push-back»

9
Чи безпечно push_back елемент з того самого вектора?
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
Ефективність C ++ 11 push_back () з std :: move versus 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 …

5
Вектор ініціалізації структур
Я хочу знати, як я можу додати значення до мого вектора структур за допомогою push_backметоду struct subject { string name; int marks; int credits; }; vector<subject> sub; Тож як тепер я можу до нього додавати елементи? У мене є функція, яка ініціалізує ім'я рядка (ім'я теми до нього) void setName(string …
76 c++  vector  struct  push-back 

2
Дивна поведінка з полями класів при додаванні до std :: vector
Я знайшов дуже дивну поведінку (на кланг та GCC) у наступній ситуації. У мене вектор, nodesз одним елементом, екземпляр класу Node. Потім я викликаю функцію, nodes[0]яка додає нове Nodeу вектор. Коли додається новий Вузол, поля виклику об'єкта скидаються! Однак вони, здається, знову повертаються до норми, коли функція закінчена. Я вважаю, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.