удаление из вектора по индесу
От:
_hunter
Дата: 03.04.04 14:41
Оценка:
как из вектора удалить элемент зная его индекс (типа инт) ?
Заранее благодарю за ответ.
Re: удаление из вектора по индесу
От:
korzhik
Дата: 03.04.04 14:51
Оценка:
Здравствуйте, _hunter, Вы писали:
_>как из вектора удалить элемент зная его индекс (типа инт) ?
vector<int > v;
vector<int >::iterator it( v.begin() );
advance( it , nIndex );
v.erase(it);... << RSDN@Home 1.1.3 stable >>
Re[2]: удаление из вектора по индесу
От:
ArtDenis
Дата: 03.04.04 14:59
Оценка:
Здравствуйте, korzhik, Вы писали:
K>K> vector<int > v;
K> vector<int >::iterator it( v.begin() );
K> advance( it , nIndex );
K> v.erase(it);
K>
Ну-ну
Зачем всё так усложнять?
v.erase(v.begin()+index);... << RSDN@Home 1.1.2 stable >>
Re[3]: удаление из вектора по индесу
От:
korzhik
Дата: 03.04.04 15:02
Оценка:
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, korzhik, Вы писали:
K>>K>> vector<int > v;
K>> vector<int >::iterator it( v.begin() );
K>> advance( it , nIndex );
K>> v.erase(it);
K>>
AD>Ну-ну
AD>Зачем всё так усложнять?
AD>AD>v.erase(v.begin()+index);
AD>
Вы правы.
Это я сильно загнул конечно.
... << RSDN@Home 1.1.3 stable >>
Re: удаление из вектора по индесу
Здравствуйте, _hunter, Вы писали:
_>как из вектора удалить элемент зная его индекс (типа инт) ?
Можно сделать и так:
vector V[10];
int i;
V.erase(&V[i]);
Re[2]: удаление из вектора по индесу
Извиняюсь за неправильное объявление:
Вместо
vector V[10];
конечно, должно быть
vector<int> V(10);
Re[2]: удаление из вектора по индесу
От:
ArtDenis
Дата: 03.04.04 15:23
Оценка:
Здравствуйте, Dirichlet, Вы писали:
D>Можно сделать и так:
D>vector V[10];
D>int i;
D>V.erase(&V[i]);
Уууу... Мужики, сегодня уже не первое апреля! Не надо так шутить.
... << RSDN@Home 1.1.2 stable >>
Re[3]: удаление из вектора по индесу
Здравствуйте, ArtDenis, Вы писали:
AD>Уууу... Мужики, сегодня уже не первое апреля! Не надо так шутить.
Извини, почему же я не прав? Я всегда так писал...
Re[3]: удаление из вектора по индесу
От:
ArtDenis
Дата: 03.04.04 15:26
Оценка:
Здравствуйте, Dirichlet, Вы писали:
D>Вместо
D> vector V[10];
D>конечно, должно быть
D> vector<int> V(10);
Без разницы. Твой вариант не правильный! Одноместная ф-я vector::erase принимает в качестве аргумета итератор, а не указатель!
... << RSDN@Home 1.1.2 stable >>
Re[4]: удаление из вектора по индесу
От:
ArtDenis
Дата: 03.04.04 15:35
Оценка:
Здравствуйте, Dirichlet, Вы писали:
D>Здравствуйте, ArtDenis, Вы писали:
AD>>Уууу... Мужики, сегодня уже не первое апреля! Не надо так шутить.
D>Извини, почему же я не прав? Я всегда так писал...
Твой вариант прокатывает в той реализации STL, где итератор для вектора — обычный указатель. Т.е. функция erase принимает указатель в качестве аргумента. В остальных реализациях такой вариант не прокатит.
... << RSDN@Home 1.1.2 stable >>
Re[5]: удаление из вектора по индесу
AD>Твой вариант прокатывает в той реализации STL, где итератор для вектора — обычный указатель. Т.е. функция erase принимает указатель в качестве аргумента. В остальных реализациях такой вариант не прокатит.
Спасибо
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить