Top.Mail.Ru
Уведомления
Очистить все

std::vector insert не работает

(@_make_)
New member

Столкнулся с непонятной проблемой, а именно: не могу вставить элемент в std::vector<int>:

std::vector<int> results;

results.push_back(1);
results.push_back(2);
results.push_back(3);
results.push_back(4);
results.push_back(5);

Теперь хочу вставить еще одно значение между 3 и 4:

results.insert(2, 10);

В результате ничего не меняется, что здесь не так делаю?

Цитата
Создатель темы Размещено : 04.04.2025 21:08
Aveal
(@aveal)
Top level Admin

insert() первым аргументом принимает не индекс, а итератор, то есть в данном случае может быть так:

results.insert(results.begin() + 3, 10);

При этом вставляемый элемент будет находиться перед тем, на который указывает итератор (а не после).

ОтветитьЦитата
Размещено : 05.04.2025 11:54
(@_make_)
New member

@aveal Пооонял, моя ошибка...

А я-то уже начал думать компьютер взбунтовался и не вставляет элемент 😀 

ОтветитьЦитата
Создатель темы Размещено : 05.04.2025 13:14
Aveal
(@aveal)
Top level Admin

@_make_ 😀

ОтветитьЦитата
Размещено : 05.04.2025 17:33
Поделиться: