![]()
編譯 | 蘇宓
出品 | CSDN(ID:CSDNnews)
新一版本的 C++ 已經正式完成!
就在 3 月底,ISO C++ 標準委員會在英國會議上完成了 C++26 標準的定稿。這意味著,繼 C++23 之后,下一代 C++ 語言規范已經塵埃落定。
ISO C++ 標準委員會成員 Herb Sutter 將這一版本形容為“自 C++11 以來最有分量的一次更新”。
![]()
話不多說,我們先來看看 C++ 26 帶來了四大核心特性。
![]()
編譯期反射:元編程從“技巧”走向能力
C++26 正式引入編譯期反射。這一特性被不少人視為自模板機制誕生以來最重要的一次語言升級,它允許開發者在編譯階段查詢、描述并生成代碼,而且不會引入運行時開銷。
和 Java、C# 這類依賴運行時反射的語言不同,C++26 的反射完全發生在編譯期。這意味著類型信息遍歷、成員訪問乃至代碼生成,都可以在編譯階段完成,為序列化、ORM、框架自動化等場景提供更原生的支持。
從實際意義上看,這件事的影響在于:過去大量依賴模板“拼出來”的復雜元編程邏輯,開始有了更直接、可讀性更強的表達方式。也正因為如此,它被認為可能會成為未來很長一段時間里 C++ 抽象能力演進的核心基礎。
![]()
減少未定義行為,內存安全強化:重編譯即獲安全提升
C++26 大幅減少未定義行為(UB),無需修改代碼,僅升級至 C++26 即可消除局部變量未初始化讀取的 UB,封堵一類高危漏洞來源。
同時,標準庫也加強了邊界安全檢查,覆蓋了包括 vector、span、string、string_view 在內的一系列常用類型的高頻操作。整體思路不是引入一套全新的“安全語言”,而是在盡量不破壞現有代碼的前提下,讓默認行為更安全。
根據 Herb Sutter 的分享,這一方向并不是紙上談兵。類似方案此前已經在 Google 和 Apple 的大規模代碼庫中落地,覆蓋規模達到數億行代碼。在這些實踐中,平均性能開銷大約在 0.3% 左右,但換來的是明顯的穩定性提升。例如在 Google 內部,這類機制已經幫助修復了上千個 bug,并顯著降低了線上段錯誤的發生率。
這些經驗被吸收進標準之后,也讓 C++26 的“安全增強”更具現實意義。
![]()
合約編程:寫在代碼里的“使用說明”
C++26 正式納入合約(Contracts) 特性,支持函數前置條件、后置條件聲明與內置斷言 contract_assert,替代傳統宏 assert,提升代碼可靠性與可維護性。
不過,這一特性在標準化過程中爭議不小。C++ 之父 Bjarne Stroustrup 就曾公開表達過不同意見,認為當前方案在復雜度和設計上仍有改進空間。
盡管如此,委員會最終以 114 票贊成、12 票反對、3 票棄權通過定稿,合約正式保留在 C++26 中。
![]()
std::execution:統一并發與異步模型
在并發方面,std::execution(Sender/Receiver 模型)為 C++ 提供統一并發與并行執行框架,支持結構化并發,從構造上避免數據競爭,提升異步代碼安全性。
該框架已在工業界投入使用,但當前文檔與配套庫尚不完善,上手成本較高,未來將逐步完善生態適配。
![]()
為什么這次可能會被更快采納
在會后總結中,Herb Sutter 對 C++26 的落地速度給出了一個相對樂觀的判斷。他認為,這一版本的產業采納速度,可能會快于 C++17、C++20 甚至 C++23。
之所以做出了這樣的預判,Herb Sutter 也給出了兩個核心理由:
第一,這一組特性的用戶需求其實非常高。C++11 是上一次真正意義上“量大且影響廣”的版本,里面塞滿了絕大多數開發者日常都會用到的功能,比如 auto、range-for、lambda、智能指針、移動語義、線程和互斥鎖等等。此后幾輪三年一次的標準更新,也確實引入了一些“重量級”特性,比如并行 STL、concepts、協程和模塊,但實際情況是,它們對所有 C++ 開發者的影響力,并沒有達到當年 C++11 那種級別。而這一次,C++26 的主打特性——反射和安全強化——很可能會改變這一點。所以即便你所在的公司在啟用 C++20 時動作比較慢,Herb Sutter 也覺得他們這次在升級到 C++26 時會更積極。原因很簡單,這一版帶來的高需求價值更多,對幾乎所有使用 C++ 的人來說,都是一次既實用又令人興奮的更新。
第二,符合標準的編譯器和標準庫實現正在很快跟進。在 C++26 的開發過程中,GCC 和 Clang 在任意階段基本都已經實現了大約三分之二的特性。到現在為止,GCC 已經把反射和契約功能合并進主干分支,只等正式發布。
![]()
![]()
下一步:C++29 將繼續補“安全短板”
在同一輪會議上,委員會也確認了 C++29 的時間表,依然維持三年一個周期的節奏。
從當前討論方向來看,下一階段的重點仍然是安全,尤其是內存安全和類型安全。包括未定義行為的進一步削減,以及 Safety Profiles 等提案,都在持續推進之中。Bjarne Stroustrup 提出的類型安全剖面,也已經進入標準化討論范圍。
整體目標很明確:在不犧牲“零開銷抽象”這一核心原則的前提下,讓 C++ 的默認使用體驗變得更安全。
來源:https://herbsutter.com/2026/03/29/c26-is-done-trip-report-march-2026-iso-c-standards-meeting-london-croydon-uk/
【活動分享】"48 小時,與 50+ 位大廠技術決策者,共探 AI 落地真路徑。"由 CSDN&奇點智能研究院聯合舉辦的「全球機器學習技術大會」正式升級為「奇點智能技術大會」。2026 奇點智能技術大會將于 4 月 17-18 日在上海環球港凱悅酒店正式召開,大會聚焦大模型技術演進、智能體系統工程、OpenClaw 生態實踐及 AI 行業落地等十二大專題板塊,特邀來自BAT、京東、微軟、小紅書、美團等頭部企業的 50+ 位技術決策者分享實戰案例。旨在幫助技術管理者與一線 AI 落地人員規避選型風險、降低試錯成本、獲取可復用的工程方法論,真正實現 AI 技術的規模化落地與商業價值轉化。這不僅是一場技術的盛宴,更是決策者把握 2026 AI 拐點的戰略機會。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.