Стандартная библиотека или написание собственных реализаций алгоритмов
Когда выгодно отказаться от стандартных функций?
Когда выгодно отказаться от стандартных функций?
Иногда случается, что у вас какой-то специфичный случай, в котором обощённый подход, реализованный в стандартной библиотеке неэффективен. В таких случаях можно блеснуть своими знаниями и реализовать что-то самостоятельно. Однако, нужно стараться сдерживать себя от подобных выпадов. Разумеется, интересно реализовать самому какое-нибудь красно-чёрное дерево с быстрым произвольным доступом по индексу, но если если это не критично, то не стоит ввязываться. Вы должны понять, что за код, написанный вами в серьёзном проекте приходится платить дважды, а то и трижды. Это и тестирование (многократное на каждой фазе проекта + на каждый релиз + бывают промежуточные), это и поддежка (другие люди придут и им придётся в этом разбираться и как-то поддерживать) и багфиксинг (представляете, если в вашей реализации затесается ошибочка, а вы уже ушли из проекта.. как думаете, быстро пофиксят КЧ-дерево студенты-старшекурсники? :)) )
Ну, обычно подобным велосипедостроительством нет смысла заниматься - стандартные библиотеки/функции/алгоритмы давным-давно отработаны и доведены до хорошего состояния.
Но иногда всё же приходится - например, в условиях сильной нехватки ресурсов, когда нужно экономить очень сильно.
Ну или что-то аналогичное. Если есть возможность использовать стандартное - лучше всё-таки использовать =)