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


Все мы знаем, а многие даже читали, книгу Герба Саттера "Решение сложных задач на С++", которая появилась благодаря известным публикациям из серии под названием "Guru of the Week". Одна из задач в этой книге была посвящена std::uncaught_exception и звучала она так:

GotW #47: "Что собой представляет стандартная функция std::uncaught_exception и когда она должна использоваться?" 

Ответ дан в книге Саттера еще в далеком 2002 году. Однако, комитет решил вернуться к обсуждению этой "редкой" функции в 2013. Что же решили изменить и для чего все-таки нужна эта функция, я постараюсь "за 5 минут" рассказать в данном посте. Уделите время, и Вы также узнаете про декларативный подход в обработке ошибок, предложенный Александреску.

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



Такие функции-члены контейнеров как: size, empty, front, back и data - хорошо знакомы всем C++ программистам. Они давно являются незыблемым инструментом при разработке. Но, оказывается, в комитет поступило предложение, которое призвано улучшить работу с этими функциями.

Эта статья основана, и, фактически является переводом вот этого предложения N4017, которое поступило в комитет в мае прошлого года (2014). Автор Riccardo Marcangelo - кто это, узнать не удалось. Что же он предлагает?

Рикардо, говорит: давайте добавим в библиотеку глобальные функции: std::size, std::empty, std::front, std::back, и std::data, которые сейчас существуют в виде функций-членов контейнеров. Включение этих функций обеспечит преимущества в отношении безопасности, эффективности и универсальности. Все подробности ниже (статья очень короткая).

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



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

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

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

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

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

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