Сказ об опасном std::enable_shared_from_this, или антипаттерн «Зомби»

В статье приводится опасный антипаттерн «Зомби», в некоторых ситуациях естественным образом возникающий при использовании std::enable_shared_from_this. Материал — где-то на стыке техники современного C++ и архитектуры. Читать дальше →…

Техника избежания неопределённого поведения при обращении к синглтону

В статье рассмотрены причины возникновения и способы избежания неопределённого поведения при обращении к синглтону в современном c++. Приведены примеры однопоточного кода. Ничего compiler-specific, всё в соответствии со стандартом. Читать дальше →…

RESTinio — это асинхронный HTTP-сервер. Асинхронный

Пару лет назад мы опубликовали RESTinio — свой небольшой OpenSource C++фреймворк для встраивания HTTP-сервера в C++ приложения. Мегапопулярным за это время RESTinio не стал, но и не потерялся. Кто-то выбирает его за “родную” поддержку Windows, кто-то з…

С сожалением об отсутствии в C++ полноценного static if или…

… как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона?
Когда-то, уже довольно давно, язык D начали делать как “правильный C++” с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выр…

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров)

При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библио…