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

Похожие статьи:
ProductCamp Lviv is user-driven, collaborative unconference for sharing experiences in Product Management Marketing and Execution. The goal is to setup network for the Ukrainian product management community, to share best practices and just have...
Бомбосховище у театрі Маріуполя витримало удар, тим часом росіяни обстріляли притулок для матерів із дітьми у Сєвєродонецьку. DOU...
SKILLUP — ОФИЦИАЛЬНЫЙ ПАРТНЕР USQB-ЦЕНТРА В УКРАИНЕ Ближайший старт курса в Киеве: 26.08.2016 Приглашаем вас пройти подготовительный...
У червні ми провели чергове зарплатне опитування ІТ-спеціалістів і зібрали 15 136 анкет (це рекорд!), з них 7558 анкет — від...
Для предварительного заказа стал доступен смартфон Oukitel K10000. Это китайское устройство необычно, прежде всего, своим...
Яндекс.Метрика