Удобное место, чтобы написать свою статью или просто почитать

Показаны статьи и заметки из категорий: Языки программирования ×

Какая часть стандартной библиотеки STL наиболее употребима программистами C++? Скорее всего - это контейнеры.

Контейнеры имеют много специализированных методов, которым отдается предпочтение перед алгоритмами из STL. Эти методы "знают" внутреннее устройство контейнера и поэтому работают более эффективно, чем алгоритмы. 

Но как часто мы прибегаем к алгоритмам из стандартной библиотеки STL? Для решения какой-либо задачи многие из нас, не задумываясь, напишут нетривиальный вложенный цикл в стиле C, чем попробуют подыскать алгоритм, который сделает всё тоже самое. 

Мы воспринимаем каждый отдельный алгоритм, как некую законченную функциональность. Если она нам подходит, мы применяем алгоритм. Однако, правильнее было бы воспринимать алгоритмы как "небольшие строительный блоки", которые можно и нужно комбинировать между собой для решения задачи. Тогда возможности алгоритмов существенно расширяются.

В данной статье мы попытаемся применить некоторые алгоритмы из STL для решения задачи сортировки. При этом будем стараться как можно меньше использовать циклы. Да и вообще, постараемся как можно меньше писать кода. Сами алгоритмы сортировки подробно рассматриваться не будут. Нам нужна лишь интересная постановка задачи, чтобы продемонстрировать её решение с помощью алгоритмов STL. К тому же, Вы всегда сможете найти альтернативные решения (без алгоритмов из STL), и сравнить их с предложенными в статье.

Читать полностью | | | | 7483



Люди, которые создают C++

Групп WG21, комитет по Стандартизации C++ (лишь часть участников)Что Вы знаете о тех людях, которые входят в   коммитет по Стандартизации C++ (группа WG21) ?

Уверен Вы сможете перечислить несколько известных людей, в основном авторов книг по C++, ибо многие из Вас эти книги читали.

Это конечно Бьёрн Страуструп (Bjarne Stroustrup) - создатель языка C++, выдающийся сотрудник  AT&T, автор книг и множества статей по программированию.

Это и Герб Саттер (Herb Sutter) - сотрудник Microsoft, который долгие годы был главным организатором комитета. Он популярен своими "задачками" на C++, которые публиковал в журналах, а затем и в своих книгах.

Тут Вы вспомните Скотта Мейерса (Scott Meyers) и его замечательные книги по программированию. Но увы! Скотт не является членом комитета по стандартизации C++. Однако, он вносит огромный вклад в развитие языка. Разъезжая по миру, он рассказывает людям, насколько C++ интересный и мощный язык. Не так давно он заезжал и в Россию  (вот линк на его лекцию).

В данной статей я хотел бы рассказать немного о тех, кто создает  язык C++ и дать подборку ссылок на блоги всех этих замечательных людей. Даже если Вы не знаете английский, Вам хотя бы стоит посмотреть на код, ведь язык на котором он написан Вам хорошо знаком.

Читать полностью | | | | 2516



Проблемы в std::map, которые хотят решить в C++17

Следующей мажорной версией стандарта языка C++ должна стать версия "C++17"  (также известная как C++1z). А документ "C++14" станет лишь небольшым расширением текущего стандарта, и будет в основном содержать исправления ошибок и небольшие улучшения C++11. Скорее всего выход новой мажорной версии стандарта не состоится в 2017 году, однако, работа над ним уже идет в полную силу. 

В переписке членов Комитета и их рабочих документах можно найти массу интересного по C++.  Например, в документе под номером N3873 автора Thomas Köppe, который называется: "Улучшение операций вставки для контейнеров std::map и std::unordered_map", рассказывается о том, что текущий интерфейс названных контейнеров имеет несколько неопределенное поведение в части вставки новых элементов с использованием методов insert и emplace. Рассмотрим подробнее, о чем идет речь в документе N3873.

Читать полностью | | | | 6174

Показаны статьи и заметки из категорий: Языки программирования ×