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

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

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

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

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

Подскажите как удалить 1 элемент из массива типа vector, delete[] не работает почему-то?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 17:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление элемента из vector (C++):

Удаление элемента из vector - C++
Здорова! Пытаюсь удалить элемент из vector<string>, но чото ошибку выдает и я вообще не пойму что за ошибка. Вот код который ошибку...

Удаление элемента из std::vector<> - C++
- Здравствуйте завсегдатаи! Подскажите пожалуйста, можно ли из STL-ского вектора std::vector&lt;int&gt; удалить не последний элемент (с...

Удаление элемента из вектора ( std::vector<Bullet> ) - C++
Здравствуйте! У меня возникла проблема во время удаления элементов, значения которых не удовлетворяли условию. П.С: До того как...

Вставка (с указанием положения) и удаление элемента в vector - C++
Помогите сделать вставку с указанием положения #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;list&gt; using namespace std; int...

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента - C++
Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск...

Удаление объекта из <vector> - C++
Подскажите, пожалкуйста Имею следующий код: EditTest() - friend фукнция для другого класса, в нее мы входим и перемещаемся уже...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
19.12.2011, 17:54 #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;
}
2
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
19.12.2011, 19:07  [ТС] #3
оО, а можно написать кто что делает, а то я тут даже не пойму куда индекс элемента вставлять?
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
19.12.2011, 19:09 #4
1rop, Нет удаления по индексу. Есть удаление по итератору.
Вот так можно сэмулировать удаление по индексу.

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

Цитата Сообщение от 1rop Посмотреть сообщение
а erase это функция удаления?
Да
1
1rop
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 120
19.12.2011, 19:27  [ТС] #8
Цитата Сообщение от Jupiter Посмотреть сообщение
если хватило ума использовать вектор значит и должно хватит на то что бы читать "докуметацию"!
да я искал, нашел как инициализировать, считывать и добавлять элементы
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
30.10.2013, 14:37 #9
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
vec.erase(vec.begin() + idx);
C++
1
2
vec.erase(vec.begin() + idx);
vector<int>(vec).swap(vec);
Вот здесь поглядел: Удалить элемент из std::vector.
(Просто для потомков)
3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2013, 14:37
Привет! Вот еще темы с ответами:

Удаление первых n элементов из vector - C++
Почему, к примеру, если k=3 а pop=2, то студия выдаст ошибку(итератор вне допустимого диапазона) при запуске функции erase. По моей логике,...

удаление vector<Ware *>: как? - C++
Здравствуйте! У меня есть некоторый класс и в нем есть такой variable: vector&lt;Ware *&gt; wares; в деструкторе что я должна написать? ...

Удаление vector, list, string - C++
Привет! Такая задача. В программе я описал класс Class1. Класс содержит поля стандартных типов, а также поле std::string и...

Удаление элементов из vector<string> - C++
Здравствуйте.Решаю одну задачу, столкнулся с такой проблемой. Имеется vector&lt;string&gt;, в котором записан набор слов.Требуется удалить...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.10.2013, 14:37
Ответ Создать тему
Опции темы

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