!!! ВНИМАНИЕ, БЫЛА ПРОИЗВЕДЕНА ПЕРЕПРОВЕРКА ЗАМЕРОВ
Я провёл повторные замеры на корректно сконфигурированной сборке и с ужасом обнаружил, что реализация на Ref проигрывает ~20–30 % в end-to-end-тесте. Флеймграф показал, что вызовы через Ref::_vtable не инлайнатся, и лишняя
индирекция съедает предполагаемую выгоду. Первоначальные цифры были получены из-за некорректной конфигурации. Статья остаётся в блоге как fail caseЧитать полностью »
Рубрика «concepts»
Fail Case: Реализация полиморфизма без virtual на C++: концепты, трейты и Ref (и почему я отказался от этого подхода)
2025-07-09 в 12:15, admin, рубрики: concepts, Fat pointers, vtable, С++Отладочный вывод на микроконтроллерах: как Concepts и Ranges отправили мой printf на покой
2021-05-09 в 19:22, admin, рубрики: c++, C++20, concepts, ranges, stm32, программирование микроконтроллеров, С++Здравствуйте! Меня зовут Александр и я работаю программистом микроконтроллеров.
Начиная на работе новый проект, я привычно набрасывал в project tree исходники всяческих полезных утилит. И на хедере app_debug.h несколько подзавис.
Дело в том, что в декабре прошлого года у GNU Arm Embedded Toolchain вышел релиз 10-2020-q4-major, включающий все GCC 10.2 features, а значит и поддержку Concepts, Ranges, Coroutines вкупе с другими, менее "громкими" новинками С++20.
Воодушевленное новым стандартом воображение рисовало мой будущий С++ код ультрасовременным и лаконично-поэтичным. И старый, добрый printf("Debug messagen")Читать полностью »
C++20 утверждён! Чего ждать и к чему готовиться разработчикам в C++23
2020-02-19 в 6:56, admin, рубрики: abi, abi c++, c++, c++ библиотеки, C++20, c++23, concepts, contracts, coroutine, coroutines, IT-стандарты, malloc, modules, ranges, Блог компании Яндекс, Компиляторы, Программирование, стандарт, стандартизацияНа днях в Праге прошла встреча международного комитета по стандартизации C++. И-и-и-и…

C++20 готов! Осталось поставить штампик от ISO, но это чисто формальный шаг, с которым не должно быть проблем.
Поздравляю всех с этим замечательным событием! Concepts, Coroutines, Modules, Ranges, std::format, constexpr new и constexpr алгоритмы+vector+string, datetime, jthread, span, bit_cast и многие другие мелкие и большие нововведения.
Что успели добавить и поправить в последний момент, что предложили разломать и что все хотят видеть в C++23 — обо всём этом под катом.
Читать полностью »
CLion 2019.3 уже здесь! Повышенное быстродействие редактора и самые долгожданные новые возможности
2019-12-09 в 9:45, admin, рубрики: C, c++, CLion, concepts, coverage, debug, Блог компании JetBrains, Программирование, С++20Привет!
Многие уже начинают готовиться к новогодним праздникам, закупать подарки, кто-то планирует путешествия на длинные новогодние выходные. А у нас в JetBrains пока еще горячая пора выпуска релизов продуктов. Cегодня я спешу поделиться с вами новостями о недавно вышедшем релизе нашей кроссплатформенной среды разработки для C и C++ — CLion 2019.3.

Основной целью этого релиза было, как бы пафосно это ни прозвучало, качество. Мы решили сфокусироваться на проблемах, которые давно беспокоят наших пользователей, — в первую очередь, производительность и отзывчивость редактора, а во вторую — баги, недоделки и очень востребованные, но отсутствующие возможности.
Для начала, коротко о самом главном в этом релизе:
- Улучшения быстродействия и отзывчивости редактора, в первую очередь автодополнение, реализованное в нашем движке на базе Clangd.
- Ninja-генератор в CMake, настройки CMake по умолчанию и другие улучшения проектной модели.
- Обновления в интеграции с отладчиками.
- Новое действие для переключения между заголовочными и сорс-файлами.
- Более точный анализ кода: новая проверка для виртуальных функций, а также проверка правописания в CMake и в комментариях Doxygen.
- Поддержка концептов из стандарта C++20.
- Метрики покрытия кода.
- WSL2, правила форматирования и именования от Microsoft, обновления VCS поддержки и многое другое.
Ниже поговорим подробнее, но если вы готовы попробовать уже сейчас, то заходите и скачивайте билд с нашего сайта. Как обычно, доступна бесплатная пробная версия на 30 дней.
Читать полностью »
C++20 всё ближе. Встреча в Джексонвилле
2018-03-22 в 14:06, admin, рубрики: c++, c++ библиотеки, C++20, c++2a, concepts, constexpr, coroutine, coroutines, IT-стандарты, modules, networking, Алгоритмы, Блог компании Яндекс, КомпиляторыВ начале марта в американском городе Джексонвилле завершилась встреча международной рабочей группы WG21 по стандартизации C++. На встрече добавляли фишки в C++20, подготавливали к выпуску «превью» новых компонентов и полировали до блеска шероховатости языка.
Хотите посмотреть на новости и узнать:

- Почему это тут золотая медаль справа?
- Как там поживает кросплатформенный SIMD?
- Что будет если 4000 поделить на последнюю пятницу февраля?
- Какие подводные камни нашлись у сопрограм?
- Какие крутые фишки для многопоточного программирования будут в скором времени доступны?
На шаг ближе к С++20. Итоги встречи в Торонто
2017-09-28 в 19:47, admin, рубрики: c++, c++ библиотеки, c++17, C++20, concepts, coroutine, coroutines, IT-стандарты, networking, ranges, Блог компании Яндекс, Компиляторы, Программирование, стандарт, стандартизацияНесколько недель назад состоялась встреча международного комитета по стандартизации C++. На ней люди (в основном) не разменивались на мелочи и совершили несколько больших шагов на пути к С++20.

Главные новости:
- Расширению Concepts быть в C++20!
- Ranges, Networking и Coroutines/сопрограммы: выпущены в эксперимент в виде TS.
- Модули: черновик TS готов.
Что всё это значит, как это упростит написание кода и что было ещё — читайте под катом.
Читать полностью »
