удаление из вектора по индесу
От: _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: удаление из вектора по индесу
От: Dirichlet Россия  
Дата: 03.04.04 15:21
Оценка: -1
Здравствуйте, _hunter, Вы писали:

_>как из вектора удалить элемент зная его индекс (типа инт) ?


Можно сделать и так:

vector V[10];
int i;

V.erase(&V[i]);
Re[2]: удаление из вектора по индесу
От: Dirichlet Россия  
Дата: 03.04.04 15:23
Оценка:
Извиняюсь за неправильное объявление:

Вместо
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]: удаление из вектора по индесу
От: Dirichlet Россия  
Дата: 03.04.04 15:24
Оценка:
Здравствуйте, 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]: удаление из вектора по индесу
От: Dirichlet Россия  
Дата: 03.04.04 15:52
Оценка:
AD>Твой вариант прокатывает в той реализации STL, где итератор для вектора — обычный указатель. Т.е. функция erase принимает указатель в качестве аргумента. В остальных реализациях такой вариант не прокатит.


Спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.