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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 224, средняя оценка - 4.62
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
#1

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

19.12.2011, 17:50. Просмотров 31757. Ответов 8
Метки нет (Все метки)

Подскажите как удалить 1 элемент из массива типа vector, delete[] не работает почему-то?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
19.12.2011, 19:09     Удаление элемента из vector #4
1rop, Нет удаления по индексу. Есть удаление по итератору.
Вот так можно сэмулировать удаление по индексу.

C++
1
vec.erase(vec.begin() + idx);
Jupiter
Каратель
Эксперт С++
6549 / 3969 / 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,133
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++
Вставка (с указанием положения) и удаление элемента в vector C++
C++ Удаление элементов из vector<string>

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

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
5589 / 2623 / 239
Регистрация: 01.11.2011
Сообщений: 6,448
Завершенные тесты: 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
Ответ Создать тему
Опции темы

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