работа алгоритмов stl с пустыми контейнерами :-?
От: _Winnie Россия C++.freerun
Дата: 25.09.04 23:00
Оценка:
std::find_if(sounds.begin(), sounds.end(), IsNotPlaying());

Этот код валиден, если sounds — пустой контейнер?
Нужно ли вставлять if на проверку пустоты? Тот же вопрос про другие stl-контейнеры.

Ох, что же, мне писать stl алгоритмы для контейнеров с проверкой пустоты...
Правильно работающая программа — просто частный случай Undefined Behavior
Re: работа алгоритмов stl с пустыми контейнерами :-?
От: FreshMeat Россия http://www.rsdn.org
Дата: 25.09.04 23:12
Оценка: 5 (1)
Здравствуйте, _Winnie, Вы писали:


_W>std::find_if(sounds.begin(), sounds.end(), IsNotPlaying());


_W>Этот код валиден, если sounds — пустой контейнер?

да. будет возвращен итератор sounds.end()
_W>Нужно ли вставлять if на проверку пустоты? Тот же вопрос про другие stl-контейнеры.
нет.
есть основания для опасений?
Хорошо там, где мы есть! :)
Re[2]: работа алгоритмов stl с пустыми контейнерами :-?
От: _Winnie Россия C++.freerun
Дата: 25.09.04 23:56
Оценка:
Здравствуйте, FreshMeat, Вы писали:

FM>Здравствуйте, _Winnie, Вы писали:

FM>да. будет возвращен итератор sounds.end()

Точно!
Спасибо.
23.1/7


FM>есть основания для опасений?

Ох, да.
Правильно работающая программа — просто частный случай Undefined Behavior
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.