C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.
Прочее · 30 июня 2026 г.
Отрежьте мне миллиард символов: как C++20, string_view и шаблонный ад могут скрывать ба... — 30 июня 2026 г. в 15:28:08.767
Отрежьте мне миллиард символов: как C++20, string_view и шаблонный ад могут скрывать баг годами Вы наверно знаете что высший пилотаж он же Высокий Слог С++ это шаблоны и метапрограммирование. Вы обязательно должны нагородить кучу несовместимых типов и самозабвенно искать для них универсальный алгоритм. Вот очередная статья о том что метапрограммирование и код с шаблонами не такие уж и плохие. Но я хочу рассказать вам историю одного детективного расследования в недрах крупного OpenBMC-проекта (экосистема серверных платформ swtSyst). Это история о том, как безудержное желание перенести всё в compile-time (constexpr), помноженное на ультрасовременный синтаксис C++20, породило идеальный «молчаливый баг» (silent failure). Он мог бы годами жить в продакшене, успешно компилировался, не выдавал ни одного ворнинга, но полностью ломал логику работы приложения. Если вы любите метапрограммирование, шаблоны, операторы свёртки (fold expressions) и тонкости работы с памятью в C++ — устраивайтесь поудобнее. Мы отправляемся в шаблонный ад. https://habr.com/ru/articles/1052830/ #cpp #programming 👉 @cpp_lib

