C++ дайджест #9: як працює Clang-Tidy, матеріали з CppCon 2018

Привіт, мої любі сішники! Цього разу пропоную розглянути підходи для роботи з кодом та, як завжди, декілька статей про modern С++ та улюблені інструменти для розробки. Починаємо? :)

Інструменти та підходи для роботи з кодом

Exploring Clang Tooling Part 1: Extending Clang-Tidy
Турботливі автори статті розповідають, як саме Clang-Tidy може допомогти з рефакторингом коду, починаючи від git clone та закінчуючи невеликим та зрозумілим прикладом використання.

Exploring Clang Tooling Part 2: Examining the Clang AST with clang-query
У другій частині матеріалу нам надають більш глибокі деталі: як саме працює Clang-Tidy та як використовувати AST(Abstract Syntax Tree).

Modern Qt Development: The Top 10 Tools You Should Be Using
У статті коротко описується, навіщо потрібні GammaRay, Clazy, HotSpot, Clang Tidy, apitrace, Kernel/System Profiler, Heaptrack, CI та наводяться посилання для подальшого вивчення та використання описаних інструментів. Такий собі дайджест всередині дайджесту. Делегування :)

The Value of Undefined Behavior
Роздуми про невизначенну поведінку з розглядом двох розповсюджених випадків.

Unusual memory bit patterns
Описані memory bit patterns, які використовуються в режимі дебагу при відладці у VS. По відповідності значення можна на око прикинути, що саме трапилося з пам’яттю при використанні одного лише дебагера.

Modern C++

Standard Library Algorithms: Changes and Additions in C++17
У статті розглядаються нові алгоритми, що були додані в C++17, а саме: sample, for_each_n, searchers, алгоритми суми, видалення, паралельні алгоритми, clamp, gcd() та lcm().

How to Use Class Template Argument Deduction
Наведено опис та використання виводу шаблонних аргументів для класів.

A Case Where Using Auto Leads to Undefined Behaviour
Jonathan Boccara розглядає, як auto + обхід std::deque<bool> може спричинити невизначену поведінку. На мою думку, найважливіший висновок зі статті — це ще одне підтвердження, що для обходу контейнерів варто використовувати ітератори замість доступу за індексом.

+!!"" - Який тип отримаємо? Детальний розбір в статті.

Корисні посилання

Milestone | New Home | Trip Reports
У вересні відбулася довгоочікувана CppCon 2018. У статті є дуже корисні посилання на trip reports з цієї конференції, а також на презентації спікерів.

Bjarne Stroustrup Interview at CppCon 2018
Інтерв’ю від батька С++, яке не можна пропустити.

Використання автоматичних параметрів у варіативних шаблонах в C++17
Хто ще не бачив — чудова стаття про автоматичні параметри варіативних шаблонів від нашого колеги Євгена Хуторного.

Changes between C++14 and C++17 DIS
Корисний список змін між C++14 та C++17.

Оновлення

Оновлення Valgrind 3.14.0. Обіцяють, попередню пiдтримку High Sierra.

Qt: вийшло оновлення для Qt 4.9 з фіксами Qt 5.9.7, найменш використовувана система збирання за версією розробників Qt — Qbs оголошена як deprecated, релізи Qt Creator 4.7.2, Qt 3D Studio 2.1 , Qt 5.12 LTS.

CRYENGINE 5.5.1.

Unreal Engine 4.21 Preview 1.

CUDA 10 — вітаємо за підтримкою Turing GPU!

OpenCV 4.0 Beta.

KDevelop 5.3 beta 1.

ccache 3.5.

Для новачків

Корисні youtube-канали:

Хвилиночка флуду

Java vs C++: Trading UB for Semantic Memory Leaks (Same Problem, Different Punishment for Failure) що краще — java чи С++? :)


← Попередній випуск: C++ дайджест #8

Похожие статьи:
Сегодня завершающая часть трилогии (предыдущие: Часть 1, Часть 2) о создании мультисервисного web-приложения на базе технологии Docker....
Южнокорейская компания LG Electronics объявила о выходе на глобальные рынки её нового тонкого и лёгкого металлического смартфона LG Zero...
Это статья для тех, кто хочет стать Android-разработчиком, и в целом для всех, кто желает работать программистом. Несмотря на то,...
Привет! Меня зовут Руслан Колодяжный, я CTO R&D-центра финтех-компании Wirex. За 5 лет существования наша компания выросла...
Резидентами спеціального податкового й правового режиму Дія City станом на 25 березня 2022 року офіційно стали вже 145...
Яндекс.Метрика