Привіт, мої любі сішники! Цього місяця відбулася важлива подія — засідання комітету ISO C++ стандартизації. Тож зустрічайте trip reports та, як завжди, декілька статей про modern С++ та улюблені інструменти для розробки. Починаємо? :)
ISO C++ Committee meeting
10 листопада завершилася осіння зустріч зі стандартизації С++ 20. Це була найбільша зустріч та остання, на якій могли додаватися нові фічі до С++20. Було прийнято Ranges, Concepts convenience notation, розширення використання constexpr, вкладенi inline namespaces та багато іншого. Деталі в оглядах.
Trip report: Fall ISO C++ standards meeting (San Diego)
Чудовий та обов’язковий для прочитання огляд від Herb Sutter, де можна знайти опис нових прийнятих фіч та розширення функціональностей уже наявних.
2018 San Diego ISO C++ Committee Trip Report (Ranges v1 TS for C++20; consensus on modules design; new Language and Library Evolution Incubators)
Детально описано процес розгляду та перелічені основні зміни з посиланнями на Proposals.
San Diego Committee Meeting: A Trip Report
Менш технічна стаття, яку можна читати навіть раннього раночку за кавою. У форматі «назва фічі та останні новини про неї» :)
Trip Report: Freestanding in San Diego
Огляд від Ben Craig, автора Freestanding Proposal.
Modern C++
The Amazing Performance of C++17 Parallel Algorithms, is it Possible?
Як саме змінюється продуктивність зі збільшенням кількості ядер? Шукайте деталі в статті.
Modules Are Not Precompiled Headers
І знову про модулі :) З прикладами коду та оглядом підтримки такими інструментами, як CMake, Clang, GCC.
Thoughts on the Cpp Graphics Proposal
Обгрунтування думки щодо недоречності графічних API у стандарті мови.
Корисні посилання
Technologies used in the PVS-Studio code analyzer for finding bugs and potential vulnerabilities
Описані «титани», що тримають PVS-Studio: Data-Flow Analysis, Symbolic Execution, Method Annotations, Pattern-Based Matching Analysis. До кожного методу наводиться приклад з помилкою та виводом Warning-ів від PVS-Studio.
Using STL algorithms with cppcheck
cppcheck може покращити код, вказавши цикли, які можуть бути замінені стандартними алгоритмами.
A zero cost abstraction?
Розглядається можливість створення безпечної абстракції з zero cost на прикладі.
Оновлення
Цього місяця маємо такі:
- OpenCV 4.0.0
- Qt: Creator 4.8 Beta2, Visual Studio Tools 2.3.0, Qt Quick WebGL release in Qt 5.12
- CLion 2018.3
- CMake 3.13.0
Для новачків
A beginner’s look at smart pointers in modern C++ — гарний опис smart pointers в C++ : що це, навіщо потрібно та як користуватися.
How to choose good names in your code
Хвилиночка флуду
Тепер можна стати гостем блогу Fluent C++: Write on Fluent C++
Карта прокрастинації:
← Попередній випуск: C++ дайджест #9