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

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

С++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего

До C++20 осталась пара лет, а значит, не за горами feature freeze. В скором времени международный комитет сосредоточится на причёсывании черновика C++20, а нововведения будут добавляться уже в C++23. Какие новинки появятся в C++20, что из крупных вещей приняли, а что отклонили — всё это ждёт вас под катом. Ноябрьская встреча в Сан-Диего — предпоследняя перед feature freeze. char8_t Добавили ...

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

Текстовая версия доклада «Actors vs CSP vs Tasks…» с C++ CoreHard Autumn 2018

В начале ноября в Минске прошла очередная посвященная языку C++ конференция C++ CoreHard Autumn 2018. На ней был сделан капитанский доклад «Actors vs CSP vs Tasks...», где речь шла о том, как может выглядеть в C++ применение более высокоуровневых, чем «голая многопоточность», моделей конкурентного программирования. Под катом преобразованная в статью версия этого доклада. Причесанная, местами подправленная, местами дополненная. А также ...

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

Нейросеть для разработчиков C++

sn::Net snet; snet.addNode("In", sn::Input(), "C1") .addNode("C1", sn::Convolution(10, -1, sn::calcMode::CUDA), "C2") .addNode("C2", sn::Convolution(10, 0, sn::calcMode::CUDA), "P1 Crop1") .addNode("Crop1", sn::Crop(sn::rect(0, 0, 487, 487)), "Rsz1") .addNode("Rsz1", sn::Resize(sn::diap(0, 10), sn::diap(0, 10)), "Conc1") .addNode("P1", sn::Pooling(sn::calcMode::CUDA), "C3") .addNode("C3", sn::Convolution(10, -1, sn::calcMode::CUDA), "C4") .addNode("C4", sn::Convolution(10, 0, sn::calcMode::CUDA), "P2 Crop2") .addNode("Crop2", sn::Crop(sn::rect(0, 0, 247, 247)), "Rsz2") .addNode("Rsz2", sn::Resize(sn::diap(0, 10), sn::diap(0, 10)), "Conc2") .addNode("P2", sn::Pooling(sn::calcMode::CUDA), "C5") .addNode("C5", sn::Convolution(10, 0, ...

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

Готовимся к С++20. Coroutines TS на реальном примере

В C++20 вот-вот появится возможность работать с корутинами из коробки. Нам в Яндекс.Такси эта тема близка и интересна (под собственные нужды мы разрабатываем асинхронный фреймворк). Поэтому сегодня мы на реальном примере покажем читателям Хабра, как можно работать с C++ stackless корутинами. Например, попробуем осознать и переписать вот такую «лапшу» из колбеков: В качестве примера возьмём что-то простое: без работы с ...

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

С++20 на подходе! Встреча в Рапперсвил-Йона

В начале июня в городе Рапперсвил-Йона завершилась встреча международной рабочей группы WG21 по стандартизации C++. Вот что вас ждёт под катом: Контракты и друзья Концепты (без друзей) __has_cpp_attribute(unlikely) bit_cast<my_stuff>(some_array) contains, shift_left, shift_right, ispow2, ceil2… и старые алгоритмы под новым соусом atomic_ref Что нового можно писать в шаблонах и чем это полезно constexpr virtual foo() Parallelism 2, Reflection и Executors TS ...

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

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

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

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

C++20 всё ближе. Встреча в Джексонвилле

В начале марта в американском городе Джексонвилле завершилась встреча международной рабочей группы WG21 по стандартизации C++. На встрече добавляли фишки в C++20, подготавливали к выпуску «превью» новых компонентов и полировали до блеска шероховатости языка. Хотите посмотреть на новости и узнать: Почему это тут золотая медаль справа? Как там поживает кросплатформенный SIMD? Что будет если 4000 поделить на последнюю пятницу февраля? ...

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