Habr<p>Грязные трюки C++ из userver и Boost</p><p>Привет, я Антон Полухин из Техплатформы Екома и Райдтеха Яндекса. Моя команда разрабатывает userver — современный опенсорсный асинхронный фреймворк с богатым набором абстракций для быстрого и комфортного создания микросервисов, сервисов и утилит на C++. Когда мы пишем какой‑то код для userver и для таких сложных проектов, как Boost , периодически мы сталкиваемся с нестандартными проблемами. И эти нестандартные проблемы требуют нестандартных решений. Вот о таких решениях мы сегодня и поговорим. А именно: — Посмотрим, как работают исключения на платформе Linux x86, и сделаем с ними что‑то интересное. — Залезем ещё глубже под капот исключений и сделаем их ещё быстрее. — Сделаем висячую ссылку на невалидный объект, и всё будет хорошо. — А под конец то, что все любим, — погрузимся в шаблонное метапрограммирование.</p><p><a href="https://habr.com/ru/companies/yandex/articles/852244/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/yandex/a</span><span class="invisible">rticles/852244/</span></a></p><p><a href="https://zhub.link/tags/stacktrace" class="mention hashtag" rel="tag">#<span>stacktrace</span></a> <a href="https://zhub.link/tags/exception" class="mention hashtag" rel="tag">#<span>exception</span></a> <a href="https://zhub.link/tags/exceptions" class="mention hashtag" rel="tag">#<span>exceptions</span></a> <a href="https://zhub.link/tags/exception_throw_refactoring" class="mention hashtag" rel="tag">#<span>exception_throw_refactoring</span></a> <a href="https://zhub.link/tags/metaprogramming" class="mention hashtag" rel="tag">#<span>metaprogramming</span></a> <a href="https://zhub.link/tags/boost" class="mention hashtag" rel="tag">#<span>boost</span></a> <a href="https://zhub.link/tags/userver" class="mention hashtag" rel="tag">#<span>userver</span></a> <a href="https://zhub.link/tags/dlopen" class="mention hashtag" rel="tag">#<span>dlopen</span></a> <a href="https://zhub.link/tags/throw" class="mention hashtag" rel="tag">#<span>throw</span></a> <a href="https://zhub.link/tags/throwcatch" class="mention hashtag" rel="tag">#<span>throwcatch</span></a></p>