C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.
← К каналу

Подход к реализации постоянных параметров шаблонов через библиотеку Ранее эти параметры шаблонов назывались нетиповыми параметрами шаблонов (non-type …

Подход к реализации постоянных параметров шаблонов через библиотеку

Ранее эти параметры шаблонов назывались нетиповыми параметрами шаблонов (non-type template parameters). Но с момента появления C++98 у нас всегда было три вида параметров шаблонов:

- типовые параметры (type template parameters)
- нетиповые параметры (non-type template parameters)
- шаблонные параметры-шаблоны (template template parameters)

Когда категорий всего две, можно называть их «X» и «не-X» (например, статические и нестатические методы). Но когда категорий три — это уже неудобно. А в C++26 таких категорий уже пять (добавились параметры переменных шаблонов и параметры концептов), и выходит, что почти все, кроме типовых, попадают под «нетиповые» — что нелогично. Поэтому старый термин заменили на гораздо более удачный: constant template parameter (постоянный параметр шаблона).

Этот блогпост стал продолжением моей работы с Ричардом Смитом (P2484), за которым последовала ещё одна статья по теме (P3380). И статья, и доклад основывались на блестящей идее Файсала Вали: рефлексия может предложить интересное решение задачи сериализации, ведь std::meta::info способен представлять что угодно.

На встрече в Софии все документы, касающиеся рефлексии, были включены в рабочий проект стандарта C++26, и для меня это очень воодушевляюще — видеть формулировки прямо в черновике (например, meta.reflection).

Однако моё решение по расширению поддержки постоянных параметров шаблонов в C++26 не войдёт. Как и решение проблемы non-transient constexpr allocation. Так что ограничения на типы, которые можно использовать в качестве постоянных параметров шаблонов, сохранятся ещё на один цикл.

А может… и нет?

https://brevzin.github.io/c++/2025/08/02/ctp-reflection/

#cpp #programming

👉 @cpp_lib
← Предыдущий пост Продвинутое использование препроцессора в C и C++ Зачастую, в проектах ограничи… Следующий пост → Data-Parallel Types: алгоритмы (C++26) Библиотека «data-parallel types» для SIM…
Другие главы канала «C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 01.05.2026
Как написать 2D игру на C++ и чистом STL для терминала в Linux Я PHP разработчи…
👁 449 просмотров
Глава от 01.05.2026
Три теоремы о сортировках Я знаю многих программистов и руководителей в IT комп…
👁 499 просмотров
Глава от 30.04.2026
Улучшенные версии STL-контейнеров из библиотеки Boost Илья Мещерин В любом учеб…
👁 746 просмотров
Глава от 28.04.2026
Плывущий экран. Вирус на C++. Melting Screen Программа предоставлена в образова…
👁 1 006 просмотров
Глава от 28.04.2026
❓Как управлять техническим подразделением опытных инженеров и быть сильным и муд…
👁 1 024 просмотров
Глава от 28.04.2026
Алгоритмы манипуляций с битами В статье приведены алгоритмы обработки коротких …
👁 1 029 просмотров
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
Удалить этот пост Удалить канал
🔍
Архив всех постов Макс
Поиск по тексту среди 3,259,791 постов из 200,415 каналов. Фильтры по дате, видео, репостам и удалённым публикациям.
1 ₽ — 7 дней доступа
далее 490 ₽/мес
Получить доступ за 1 ₽
или войти, если уже есть аккаунт

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@canalmaxone
AntiCloudMod
👥 215 239 · +130 903/7д
@WylsacomRed
Wylsacom Red
Официальный канал Wylsacom в Max. Тут всё про технологии и жизнь в ногу со временем! Номер заявления для регистрации в РКН: № 6979154178 Розыгрыши: kichaev@wylsacom.med…
👥 126 455 · +3 495/7д
@BelgorodDRONE
Информация БПЛА Белгород, Белгородский район
Информация БПЛА Белгород, Белгородский район — специализированный канал в мессенджере Макс, посвященный новостям и информации о беспилотных летательных аппаратах в регион…
👥 114 761 · +4 722/7д
@TikTokModCloud
TikTokModCloud
Официальные обновления стабильного мода TikTok Чат: https://clck.ru/3S6mVh По рекламе: https://iimax.ru/dim4ugan
👥 56 901 · +2 346/7д
@hitech
Hi-Tech
Оперативные новости, обзоры гаджетов, собственное видео, трансляции мировых анонсов и мероприятий По вопросам сотрудничества и размещения рекламы i.ostapenko@corp.mail.r…
👥 53 780 · +1 935/7д
@yandex
Яндекс
Технологии будущего и сервисы, которые делают жизнь лучше уже сегодня
👥 33 995 · +5 582/7д

Популярные посты канала «C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.»

Этот проект содержит исходный код игр Command & Conquer: Tiberian Dawn и Command & Conquer: Red Alert, выпущенных как часть сборника Command…
👁 6 327 просмотров
🚀 CUTE_HEADERS - Коллекция кроссплатформенных однофайловых библиотек на C/C++ без зависимостей, в основном используемых для разработки игр. …
👁 6 261 просмотров
Три теоремы о сортировках Я знаю многих программистов и руководителей в IT компаниях, которые недолюбливают математиков и в частности счита…
👁 6 254 просмотров
ggwave — это компактная и переносимая библиотека C/C++ для передачи и приема коротких сообщений с использованием звуковых волн. Она позволя…
👁 6 230 просмотров
🚀 JSON тормозит? Вы просто не умеете его готовить Казалось бы, парсинг JSON - задача решенная. Взял библиотеку, вызвал метод, получил объек…
👁 6 173 просмотров
Проектируем змейку под учебный RISC-V микроконтроллер На третьем курсе некоторые направления в МИЭТ проходят лабораторный практикум, на кот…
👁 6 158 просмотров
Генерация лабиринтов: алгоритм Эллера Сегодня я хотел бы рассказать о генерации идеального лабиринта — алгоритмом Эллера. Статья подойдёт в…
👁 6 158 просмотров
Логика коэволюции компиляторов, инструментов разработки и языков программирования. Выступление в институте iSpring 17 мая 2025 года. Огромн…
👁 6 151 просмотров
⚔️ Линус Торвальдс против C++: Почему ядро Linux остается на C? Почему Линус Торвальдс категорически запрещает C++ в ядре Linux. Казалось б…
👁 6 148 просмотров
Как читать язык ассемблера Зачем кому-то нужно изучать язык ассемблера? Во-первых, чтение языка ассемблера - это способ узнать, что именно …
👁 6 141 просмотров
C++ Std:: string Interface Overview #cpp #programming 👉 @cpp_lib
👁 6 138 просмотров
Dockerизированная toolchain в CLion с Conan При разработке на C++ часто возникает необходимость воспроизводимой среды для сборки. Особенно …
👁 6 112 просмотров
Опенсорс от кристалла до программного стека Нужны ли нам открытые архитектуры? Что нам нужно, чтобы они работали? В этом докладе мы попытае…
👁 6 109 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 6 104 просмотров
C++ изнутри: внутренние механизмы классов Крис Райан — CppCon 2024 В своём докладе я рассмотрю внутренние механизмы C++ по следующим темам…
👁 6 094 просмотров
Руководство по сборке Qt под Windows из исходников с MinGW Официальный способ установки готовых бинарников Qt - через онлайн инсталлятор. О…
👁 6 079 просмотров
Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake). 00:00 Зависимости и хедера 08:22 Build.sh 11:48 Makefiles и д…
👁 6 072 просмотров
Продвинутое использование препроцессора в C и C++ Зачастую, в проектах ограничивается использование препроцессора по следующим причинам: —…
👁 6 047 просмотров
Лаконичный макрос defer для C++17 Ручное управление ресурсами в низкоуровневом си-подобном коде на C++ — довольно хлопотное занятие. Создан…
👁 6 039 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 6 039 просмотров
🏷 Темы и теги
#cpp #programming #системное программирование #c++ #stl #boost #highload #embedded #Технологии
📋 О канале C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.
Канал для серьезных C++ программистов. Глубокое погружение в STL, Boost и метапрограммирование (Templates). Управление памятью (Memory Management), умные указатели и безопасность кода. Разработка высоконагруженных систем, сетевое программирование и Embedded (встраиваемые системы). Сборка через CMake, компиляторы GCC/Clang. Подготовка к собеседованиям: LeetCode, System Design и ООП.
📊 Аналитика канала «C++ Developer • Cpp System Programming. HighLoad, Алгоритмы и Структуры данных. Разработка на Linux и Windows. STL, Boost, Qt и Embedded.» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
📌 Данные подтянутся автоматически по ссылке на канал. Логотип необязателен — ускоряет проверку.
🖼 Перетащите картинку или выберите файл
PNG, JPG, WEBP · до 5 МБ
captcha

Нажимая кнопку, вы соглашаетесь на обработку данных.
Проверим и добавим канал в течение суток.