Главная » Архив меток: c++17

Архив меток: c++17

Релиз CLion 2018.1: новые возможности из С++17, поддержка WSL, CMake Install, плагин для Rust и многое другое

Привет, Хабр! Вот и подоспел первый релиз CLion в этом году — 2018.1! В этом посте мы расскажем, что мы успели реализовать за эти месяцы и какие планы у нас на следующий релиз. Cначала очень коротко о главном. В этот релиз вошли: Поддержка языка C++ Поддержка возможности C++17: structured binding Поддержка возможности C++17: операторы if и switch с инициализаторами Множество ...

Читать далее »

C++ велосипедостроение для профессионалов

Классы, которые люди самостоятельно пишут, а потом копируют из одного проекта в другой, хотя они уже есть в стандартных библиотеках, в простонародье называются велосипедами. Первый вопрос, который возникает при встрече с таким «велосипедом» — зачем люди переписывают что-то заново? Вариантов может быть несколько. Некоторые делают это для самообучения: берут класс стандартной библиотеки, пишут его сами с нуля, сравнивают то, что получилось, с тем, что есть в стандартной библиотеке — в процессе узнают для ...

Читать далее »

[Перевод] Рефакторинг с использованием C++17 std::optional

Вы можете реализовать опциональный тип с помощью нескольких вариантов, но с помощью C++17 вы сможете реализовать это с помощью наиболее удобного варианта: std::optional. В разработке существует множество ситуаций, когда вам надо выразить что-то с помощью "optional" — объекта, который может содержать какое-либо значение, а может и не содержать. Сегодня я приготовил для вас одну задачу по рефакторингу, на который вы ...

Читать далее »

[Перевод] Использование std::optional в С++17

Давайте возьмём пару от двух типов <YourType, bool> — что вы можете сделать с композицией подобного рода? Это обёртка для вашего типа и флаг показывает, инициализировано ваше значение или нет. В этой статье я расскажу вам про std::optional — новый вспомогательный тип, добавленный в C++17. Давайте посмотрим, где это может быть полезно. Вступление Как было сказано ранее, флаг используется для ...

Читать далее »