×Закрыть

C++ дайджест #28: метапрограмування

Привіт, мої любі сішники! В цьому випуску пропоную розглянути метапрограмування. Почнімо? :)

Метапрограмування

Можна довго сперечатись, чи варто використовувати метапрограмування, але незважаючи на різні точки зору, шаблонне програмування є однією з найцікавіших фіч та найважливіших парадигм. Для ознайомлення:

Література:

А як ви відноситеся до шаблонів та метапрограмування?

Modern C++

Mailing of new standards papers

Ordering by constraints

Let’s unravel the secrets behind C++17’s structured bindings

Numeric Range Algorithms for C++20

Coroutines and C++20

C++20: The Unspoken Features

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

Debugging Qt for WebAssembly

Profiling template metaprograms with C++ Build Insights

Template metaprogramming trick: Get the compiler to tell you what type you have

The „OO” Antipattern

A thin, typesafe SQL wrapper in C++20

Reducing {fmt} library size 4x using Bloaty McBloatface

Optimizing UTC → Unix Time Conversion For Size And Speed

Ray-tracing in a Weekend with SYCL: Basic sphere tracing

Github Actions, C++ with Boost and cmake, almost a 50% speedup with caching

Effective Modern C++ Cheatsheet

High-performance garbage collection for C++

Multi Threading with WebAssembly

Інструменти

Using Modern CMake with Qt

Using Visual Studio Code for Qt Applications — Part One, Part Two.

Automating tasks in Qt Creator

Learn Productivity with CLion: Tips & Tricks Demo

Faster builds with PCH suggestions from C++ Build Insights

What’s New with Qt for Android

Оновлення

Цього місяця маємо такі оновлення:


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

LinkedIn

5 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Наталья, а вы лично насколько знакомы с метакодом?
У меня было несколько периодов когда изучал/забывал =)
Проблема известная — мало подходящих для этого задач. А лепить его везде «лишь бы круто смотрелось» не мой подход, насмотрелся уже на результаты работ таких «мастеров»...

Что ж, мое личное мнение — в «боевых проектах», конечно же, очень редко встречала уместное использование. К тому же бедулька со временем компиляции на крупных проектах иногда заставляет ненавидеть все, что связано с шаблонами. Но с другой стороны метапрограммирование отлично подходит как «зарядка для мозга», его интересно писать( чего я не скажу о рефакторинге или багофисе :D ) и написание такого кода помогает отлично узнать/понять/"вспомнить" новые грани языка. :)

В нас зустрічається — для метаданих і серіалізації, для запуску обробки зображень в пулі потоків, може ще кілька точок. Variadic templates дуже зручні.

Це інструмент, застосовується там, де потрібно.

Подписаться на комментарии