Вопрос
Мне очень нравится qsort
Функция в C. Настолько проста в использовании и позволяет мне прокладывать в изучение типов шаблонов C ++. У меня есть несколько вопросов по этому поводу:
- Используется ли алгоритм всегда QuickSort или IT-компилятор-реализация зависит от?
- Вы бы порекомендовали использовать эту функцию или есть настоящая выгода для шаблонов?
- Есть ли какие-то вещи, чтобы избежать проблем безопасности / SegFaults?
Решение
Используется ли алгоритм всегда QuickSort или IT-компилятор-реализация зависит от?
Это зависит от реализации.
Вы бы порекомендовали использовать эту функцию или есть настоящая выгода для шаблонов?
C не имеет шаблонов. Если вам нужна универсальная функция сортировки в C, то qsort
это хороший выбор.
Если вы собираетесь использовать C ++, то вы должны использовать std::sort
, что намного легче использовать правильно и дает тип безопасности.
Есть ли какие-то вещи, чтобы избежать проблем безопасности / SegFaults?
Если вы используете функцию неправильно (например, если вы пройдете неверные параметры или если ваша функция сравнения имеет ошибки в нем), то ваша программа вполне может сбояться (или в противном случае выполнять неправильно). Конечно, это не специфично для qsort
; Это верно для чего-либо, используемого в программе.