Форум программистов, компьютерный форум CyberForum.ru

Удаление элемента из vector - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 224, средняя оценка - 4.62
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
19.12.2011, 17:50     Удаление элемента из vector #1
Подскажите как удалить 1 элемент из массива типа vector, delete[] не работает почему-то?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
19.12.2011, 17:54     Удаление элемента из vector #2
какой нафиг delete[] ? Oo

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <vector>
#include <iterator>
#include <algorithm>
#include <iostream>
 
int main()
{
   std::vector<int> v = {1, 2, 3};
   v.erase(v.begin());
   std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
   return 0;
}
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
19.12.2011, 19:07  [ТС]     Удаление элемента из vector #3
оО, а можно написать кто что делает, а то я тут даже не пойму куда индекс элемента вставлять?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
19.12.2011, 19:09     Удаление элемента из vector #4
1rop, Нет удаления по индексу. Есть удаление по итератору.
Вот так можно сэмулировать удаление по индексу.

C++
1
vec.erase(vec.begin() + idx);
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.12.2011, 19:14     Удаление элемента из vector #5
Цитата Сообщение от 1rop Посмотреть сообщение
оО, а можно написать кто что делает
если хватило ума использовать вектор значит и должно хватит на то что бы читать "докуметацию"!
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
19.12.2011, 19:20  [ТС]     Удаление элемента из vector #6
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
vec.erase(vec.begin() + idx);
vec.begin() - это ссылка на первый элемент?
а erase это функция удаления?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
19.12.2011, 19:27     Удаление элемента из vector #7
Цитата Сообщение от 1rop Посмотреть сообщение
vec.begin() - это ссылка на первый элемент?
Итератор на первый элемент.

Цитата Сообщение от 1rop Посмотреть сообщение
а erase это функция удаления?
Да
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
19.12.2011, 19:27  [ТС]     Удаление элемента из vector #8
Цитата Сообщение от Jupiter Посмотреть сообщение
если хватило ума использовать вектор значит и должно хватит на то что бы читать "докуметацию"!
да я искал, нашел как инициализировать, считывать и добавлять элементы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2013, 14:37     Удаление элемента из vector
Еще ссылки по теме:

Удаление элемента из std::vector<> C++
Удаление объекта из <vector> C++
Вставка (с указанием положения) и удаление элемента в vector C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
30.10.2013, 14:37     Удаление элемента из vector #9
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
vec.erase(vec.begin() + idx);
C++
1
2
vec.erase(vec.begin() + idx);
vector<int>(vec).swap(vec);
Вот здесь поглядел: Удалить элемент из std::vector.
(Просто для потомков)
Yandex
Объявления
30.10.2013, 14:37     Удаление элемента из vector
Ответ Создать тему
Опции темы

Текущее время: 18:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru