#Constexpr

2025-12-08

CLion 2025.3 Is Here, and It’s Epic: Faster Language Engine, Unique Constexpr Debugger, DAP Support, and Much More
#Clang #CLion #News #Releases #Clionnova #Constexpr #Cpp26 #Dap #Stm32 #Zephyrwest

blog.jetbrains.com/clion/2025/

2025-07-18

Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов

В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time. Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся.

habr.com/ru/articles/929052/

#constexpr #compiletime #C++ #SQLвалидация #consteval #ошибки_компиляции #C++26_возможности #ZeroRuntime #typesafe_SQL #CRTP

2025-07-01

Встреча ISO C++ в Софии: С++26 и рефлексия

Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса, и сейчас я расскажу о софийской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была последняя встреча, на которой новые фичи языка, с предодобренным на прошлых встречах дизайном, ещё могли попасть в C++26. И результат превзошёл все ожидания: compile-time-рефлексия рефлексия параметров функций аннотации std::optional<T&‍> параллельные алгоритмы Об этих и других новинках расскажу в посте

habr.com/ru/companies/yandex/a

#c++29 #с++29 #c++26 #с++26 #с++ #c++ #reflection #constexpr #exception #simd #safety #security #undefined_behavior #annotations #parallel_programming #executor #executors #ranges #coroutines

2025-07-01

Встреча ISO C++ в Софии: С++26 и рефлексия

Привет! На связи Антон Полухин из техплатформы городских сервисов Яндекса, и сейчас я расскажу о софийской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была последняя встреча, на которой новые фичи языка, с предодобренным на прошлых встречах дизайном, ещё могли попасть в C++26. И результат превзошёл все ожидания: compile-time-рефлексия рефлексия параметров функций аннотации std::optional<T&‍> параллельные алгоритмы Об этих и других новинках расскажу в посте

habr.com/ru/companies/yandex/a

#c++29 #с++29 #c++26 #с++26 #с++ #c++ #reflection #constexpr #exception #simd #safety #security #undefined_behavior #annotations #parallel_programming #executor #executors #ranges #coroutines

2025-06-11

C++OnSea 2025 SESSION ANNOUNCEMENT: Balancing Efficiency and Flexibility: Cost of Abstractions in Embedded Systems by Marcell Juhasz

cpponsea.uk/2025/session/balan

Register now at cpponsea.uk/tickets/

#consteval #constexpr #cpp #template

2025-05-22

C++OnSea 2025 SESSION ANNOUNCEMENT: Balancing Efficiency and Flexibility: Cost of Abstractions in Embedded Systems by Marcell Juhasz

cpponsea.uk/2025/session/balan

Register now at cpponsea.uk/tickets/

#consteval #constexpr #cpp #template

GripNewsGripNews
2025-05-02

🌗 C++26:標準函式庫中更多 constexpr
➤ C++26 將編譯時期程式設計提升至新高度
sandordargo.com/blog/2025/04/3
本文探討了 C++26 即將推出的標準函式庫中,更多功能將能在編譯時期使用 (constexpr)。文章重點介紹了關於穩定排序、`<cmath>` 和 `<complex>`、trivial unions、容器和adaptors、以及特殊記憶體演算法的提案,以及這些變更如何提升編譯時期程式設計的能力。總體而言,C++26 在 constexpr 的支援上邁出了一大步,未來編譯時期程式設計將更加普及且強大。
+ 哇,這個更新太棒了!constexpr 幫助我避免了許多執行時期的錯誤,現在能用在更多標準函式庫功能上,簡直是夢寐以求的。
+ 雖然有一些細節比較複雜,但整體來看,C++26 的這些改變真的很有意義,讓 C++ 更加強大和高效。
++

N-gated Hacker Newsngate
2025-05-01

Ah, yet another riveting chapter in the never-ending ++ saga 📚! This time, it's the thrilling tale of infiltrating the standard library, because who doesn’t love waiting for the next version of a language to get basic compile-time functionality? 🤷‍♂️ Exciting news for those who find watching paint dry too exhilarating! 🎨
sandordargo.com/blog/2025/04/3 ++StandardLibrary

卡拉今天看了什麼ai_workspace@social.mikala.one
2025-04-24

C++26: more constexpr in the core language | Hacker News

Link
C++26:核心語言中更多 constexpr 功能的演進
https://sandordargo.com/cpp26-more-constexpr-in-the-core-language

📌 Summary:
自 C++11 引入 constexpr 以來,constexpr 的應用範圍持續擴大,從最初不支援 if、else、迴圈,到 C++14 允許控制流程,C++17 支援 constexpr lambdas,C++20 更進一步允許動態配置和使用 std::vector 及 std::string。到了 C++26,constexpr 功能獲得更多強化,包括可在常數表達式中從 void 做指標轉型(P2738R1)、支援在 constexpr 中使用 placement new(P2747R2),以及允許宣告 constexpr structured bindings 且放寬 constexpr 參考的綁定規則(P2686R5)。這些語言層面的改變將使更多標準函式庫類型和功能能在編譯期進行運算,進一步提升程式碼效率與安全性。此外,未來還將探討 constexpr 支援例外處理與標準函式庫的延伸。此演進不僅推動編譯期編程由傳統模板技巧轉為更直觀且可驗證的方式,也為編譯器實作帶來新挑戰。

🎯 Key Points:
→ P2738R1:C++26 允許在 constexpr 表達式中從 void 指標轉型到物件實際類型的指標,限制不可轉向不同類型或基類指標。此設計可支援更多標準函式庫元件(如 std::format、std::function、std::any)在編譯期運作,主要因為 void 用於減少模板實例化和二進位符號數量的「編譯防火牆」技巧。
→ P2747R2:新增 constexpr 版本的 placement new,可彌補 std::construct_at 僅支援值初始化的不足,使得在 constexpr 環境下更靈活地進行物件預置建立。此功能須仰賴 P2738R1 中 void 指標轉型的支持解決類型轉換問題。
→ P2686R5:允許宣告 constexpr structured bindings,並放寬 constexpr 參考綁定規則。constexpr 參考可綁定於自動存取期間且相對於堆疊框架地址不變的變數,但例如 lambda 捕獲的外層變數因無法確定常數地址而不符條件,故有限制。此改進讓 constexpr 編寫更靈活、結構化。
→ 綜合以上,C++26 大幅推動 constexpr 技術由語言核心擴展,為日後標準函式庫更多 constexpr 化奠定基礎,並促進從繁複模板元編程向更語義明確、編譯期安全的編程模式轉變。
→ 使用者與開發者須留意編譯器實作狀況,目前多數主流編譯器對 C++20 甚至 C++23 支援仍未完全,C++26 的新功能落地仍需時間。
→ 文章後續將描述標準函式庫的 constexpr 支援演進,以及 constexpr 例外處理的相關變化,需結合語言與函式庫面雙重改良。

🔖 Keywords:
#constexpr #C++26 #void轉型 #placement_new #structured_bindings

N-gated Hacker Newsngate
2025-04-23

Apparently, ++ developers are so smitten with `constexpr` that they're willing to sacrifice their first-born to it in ++26. 🤷‍♂️ Gone are the days of simple "Hello, World" — now it's all about wrangling `constexpr` lambdas while hoping the compiler gods smile upon you. 😅
sandordargo.com/blog/2025/04/2

Okay, let's see how long it takes for this feature to get implemented in clang …

github.com/llvm/llvm-project/i

#clang #cpp20 #constexpr

C++Nowcppnow
2025-03-26

C++Now 2025 SESSION ANNOUNCEMENT: Harnessing constexpr - A Path to Safer C++ by Mikhail Svetkin

schedule.cppnow.org/session/20

Register now at cppnow.org/registration/

2025-02-19

C++26 — встреча ISO в Хагенберге

В середине февраля в Хагенберге состоялась встреча международного комитета по стандартизации языка программирования C++. В этот раз прорабатывались следующие большие темы: std::hive Constexpr, ещё больше constexpr Безопасность, контракты, hardening, профили, UB и std::launder Relocate #embed Об этом и других новинках расскажу в посте

habr.com/ru/companies/yandex/a

#c++29 #с++29 #c++26 #с++26 #с++ #c++ #reflection #constexpr #exception #simd #safety #security #undefined_behavior #memory #byte #bit #contracts #relocation #hive #object_pool #embed

2024-11-26

ISO C++ — встреча международного комитета в Польше

В конце ноября состоялась встреча международного комитета по стандартизации языка программирования C++. В этот раз без внимания не остались темы: Рефлексия времени компиляции и оператор «монобровь» Constexpr, много constexpr SIMD Structured bindings as a pack Безопасность, контракты, libc++ hardening, профили, UB и std::launder Сколько бит в байте? Об этом и других новинках расскажу в посте

habr.com/ru/companies/yandex/a

#c++26 #с++26 #с++ #c++ #reflection #constexpr #consteval #exception #simd #safety #security #undefined_behavior #memory #byte #bit

2024-09-05

We have just released a new C++OnSea 2024 Conference Video!

Understanding The constexpr 2-Step – by @lefticus – C++ on Sea 2024

youtube.com/watch?v=CEkwTqD7gu

#constexpr #cplusplus #cpp #programming

2024-06-25

Type Loopholes: решая нерешаемое. Рефлексия времени компиляции

Лупхолы — это техника, позволяющая манипулировать глобальным состоянием компилятора, добавляя значения и считывая их. Эта техника позволяет решать многие задачи, некоторые из которых будут рассмотрены в статье: Узнать, какие параметры принимает конструктор типа. Узнать, с какими шаблонными параметрами вызывался метод/функция с ADL. Как сделать метапрограммирование с типами более похожим на обычный код, где есть состояние.

habr.com/ru/articles/824574/

#лупхолы #метапрограммирование #рефлексия #c++ #constexpr

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst