| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > удаление из списка |
| Автор: zhenya1 27.5.2011, 01:22 | ||
| Дано: информационная система кинотеатра. Есть метод удаления, в котором value - введенная ,скажем, из main строка , а list<films> coll - список, содержащий имя фильма и др. поля. Проверяю: если введенная строка и имеющаяся в списке совподают - хочу удалить такую из списка. Проблема: как возможно ее удалить?
|
| Автор: boostcoder 27.5.2011, 02:09 | ||
или посмотрите: http://cplusplus.com/reference/stl/list/remove_if/ |
| Автор: borisbn 27.5.2011, 09:07 | ||
zhenya1, вот только не очень понятен смысл ф-ции
если она член класса, то зачем ей передаётся какой-то coll ? почему в классе films есть ф-ция удаления из списка films'ов ? и потом, coll передаётся не по ссылке, а по значению, т.е. копия. После удаления из него (из копии) данные из списка, который был передан ф-ции в качестве параметра, удалены не будут... |
| Автор: zhenya1 27.5.2011, 16:37 | ||||
У меня в программе как можно больше от С++ должно быть. Это для демонстрации копирования.
Хм... а куда рациональнее было бы реализовать? |
| Автор: borisbn 27.5.2011, 17:00 |
ну... я задачи то не знаю... но, насколько я понял, films (кстати, почему во множественном числе???) описывает один фильм, а list<films> - список этих фильмов. в общем, выкладывай код, только не весь проект, а проблемную часть... посмотрим... посоветуем |
| Автор: zhenya1 27.5.2011, 17:50 | ||||
Я тут поразмыслил и понял ,что все дело в этом:
Как бы сделать так, чтобы в метод пошла истинная коллекция ? На данный момент расположение такое:
|
| Автор: borisbn 27.5.2011, 22:42 |
| void delete_value(string value, list<films> & coll); И всё равно не понимаю, зачем в классе "один фильм" ф-ция удаления из некого списка фильмов какого-то одного фильма по имени, при чём не имеющего отношения к этому классу/экземпляру??? |
| Автор: zhenya1 27.5.2011, 23:08 |
| а вообще, да, Вы наверно правы. Как-то нелогично получается...надо будет подумать Огромное вам спасибо! |