Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      C++26

      From cppreference.com
      <cpp
       
       
       

      The next generation of the C++ standard.

      The current IS schedule for C++26:P1000R6 (2024-05-14).

      This section is incomplete

      Contents

      [edit]New language features

      [edit]New library features

      [edit]New modules

      [edit]New headers

      C compatibility headers:

      [edit]Obsolete features

      [edit]Removed features

      This section is incomplete

      [edit]Deprecated features

      This section is incomplete

      [edit]Defect reports

      [edit]Compiler support

      Main Article:C++26 compiler support

      [edit]C++26 core language features

      C++26 feature

       
      Paper(s)

       
      GCC
      Clang
      MSVC
      Apple Clang
      EDG eccp
      Intel C++
      Nvidia HPC C++ (ex PGI)*
      Nvidia nvcc
      Cray
      DR98: Removing undefined behavior from lexingP2621R3Yes3.316.0.0*
      DR98: Making non-encodable string literals ill-formedP1854R4141416.0.0*
      Unevaluated stringsP2361R61417 (partial)*
      18
      16.0.0*
      Adding@,$, and` to thebasic character setP2558R215Yes16.0.0*
      constexpr cast fromvoid*  (FTM)*P2738R11417
      DR20: On the ignorability of standard attributesP2552R315Yes
      DR11: Static storage for braced initializersP2752R314
      User-generatedstatic_assert messages  (FTM)*P2741R31417
      Placeholder variables with no name  (FTM)*P2169R41418
      Pack indexing  (FTM)*P2662R31519
      Removing deprecated arithmetic conversion on enumerationsP2864R21418
      DR11/20: Template parameter initializationP2308R1918
      Disallow binding a returned reference to atemporaryP2748R51419
      Attributes forstructured bindings  (FTM)*P0609R31519
      Erroneous behavior foruninitialized reads,[[indeterminate]] attributeP2795R5
      = delete("reason");  (FTM)*P2573R21519
      Variadicfriends  (FTM)*P2893R31520
      DR98: Clarifying rules for brace elision inaggregate initializationP3106R1Yes17
      DR20: Disallow module declarations to be macrosP3034R115
      DR11: Trivial infinite loops are not undefined behaviorP2809R31419
      constexpr placement new  (FTM)*  (FTM)*P2747R21520
      Structured binding declaration as a condition  (FTM)*P0963R3156(partial)*
      21
      Ordering ofconstraints involvingfold expressions  (FTM)*P2963R319
      Deleting a pointer to an incomplete type should be ill-formedP3144R215196.7
      Structured bindings can introduce apack  (FTM)*P1061R1021
      constexprstructured bindings and references toconstexpr variablesP2686R56.7
      constexprexceptions:[1],[2]  (FTM)*P3068R6
      Oxford variadic commaP3176R11520
      Removing deprecated array comparisonsP2865R61520
      #embed  (FTM)*P1967R141519*
      Concept and variable-template template-parameters  (FTM)*P2841R7
      Trivial relocatability  (FTM)*P2786R1321*
      Trivial unions  (FTM)*P3074R7
      Observable checkpointsP1494R5
      Contracts  (FTM)*P2900R14
       

      C++26 feature
       

      Paper(s)
      GCC
      Clang
      MSVC
      Apple Clang
      EDG eccp
      Intel C++
      Nvidia HPC C++ (ex PGI)*
      Nvidia nvcc
      Cray

      [edit]C++26 library features

      C++26 feature

       
      Paper(s)

       
      GCC libstdc++
      Clang libc++
      MSVC STL
      Apple Clang*
      Testing for success or failure of<charconv> functions  (FTM)*P2497R0141816.0.0*
      std::text_encoding: text encodings identification  (FTM)*P1885R12
      P2862R1
      14
      Arithmetic overloads ofstd::to_string andstd::to_wstring usestd::format  (FTM)*P2587R314
      Type checking format args  (FTM)*P2757R315
      Formatting pointers  (FTM)*P2510R314*17*19.40**
      Hashing support forstd::chrono value classes  (FTM)*P2592R3
      <rcu>:Read-Copy Update  (FTM)*P2545R4
      <hazard_pointer>:Hazard pointers  (FTM)*P2530R3
      ADL-proofstd::projectedP2538R114*18*19.38**16.0.0*
      constexpr stable sorting  (FTM)*P2562R11521
      Memberstd::basic_format_arg::visit()  (FTM)*P2637R31519
      Memberstd::variant::visit()  (FTM)*P2637R31518
      std::is_within_lifetime  (FTM)*P2641R4
      Extending associative containers with the remaining heterogeneous overloads  (FTM)*P2363R5
      Enabling the use ofstd::weak_ptr as keys in unordered associative containers  (FTM)*P1901R2
      Native handles in file streams  (FTM)*P1759R6141816.0.0*
      Interfacing string streams withstd::string_view  (FTM)*P2495R319
      Interfacingstd::bitset withstd::string_view  (FTM)*P2697R11816.0.0*
      Moreconstexpr for<cmath> and<complex>  (FTM)*  (FTM)*P1383R24.6 (partial)*
      Adding the new 2022 SI prefixes on ratios:std::quecto,std::ronto,std::ronna, andstd::quetta  (FTM)*P2734R01417*
      std::function_ref: type-erased callable reference  (FTM)*P0792R14
      std::copyable_function  (FTM)*P2548R616
      std::bind_front,std::bind_back, andstd::not_fn to NTTP callables  (FTM)*  (FTM)*  (FTM)*P2714R1
      std::submdspan()  (FTM)*P2630R4
      P3355R1
      Freestanding language: Optional::operator newP2013R5N/A
      Freestandingstd::char_traits,std::errc and facilities in:<charconv>,<cstdlib>,<cstring>,<cwchar>  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*P2338R4N/A
      More freestanding facilities  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*P2198R7N/A
      Saturation arithmetic  (FTM)*P0543R3141816.0.0*
      <debugging>:Debugging support  (FTM)*P2546R5
      P2810R4
      <linalg>: A free function linear algebra interface based on the BLAS  (FTM)*P1673R13
      P3050R2
      P3222R0
      Makingassert() macro user friendlyP2264R7
      Runtime format strings  (FTM)*P2918R2141816.0.0*
      std::span over an initializer list  (FTM)*P2447R6151816.0.0*
      std::span::at()  (FTM)*P2821R5141816.0.0*
      Added tuple protocol tostd::complex  (FTM)*P2819R21519
      A new specification forstd::generate_canonicalP0952R219.42*
      Removing deprecated typedefstd::allocator::is_always_equalP2868R3151816.0.0*
      Removing function overload ofstd::basic_string::reserve() that takes no argumentP2870R31816.0.0*
      Removing deprecated Unicode conversion facets (<codecvt>)P2871R31816.0.0*
      Freestanding: removingstd::strtok  (FTM)*P2937R01419.40*
      Freestanding library: partial classes  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*P2407R51419.42*
      Freestanding library:std::inout,std::expected,std::span  (FTM)*  (FTM)*  (FTM)*  (FTM)*P2833R21419.42*
      DR23:std::basic_const_iterator should follow its underlying type’s convertibility  (FTM)*P2836R1
      P2950R0
      1419.40*
      DR20:std::make_format_args now accepts only lvalue references instead of forwarding referencesP2905R2141819.40*16.0.0*
      DR20: Fix formatting of code units as integers  (FTM)*P2909R413.31819.40*16.0.0*
      views::concat  (FTM)*P2542R815
      Concatenation ofstrings andstring views  (FTM)*P2591R51519
      Enabling list-initialization foralgorithms  (FTM)*P2248R8
      P3217R0
      15
      std::ranges::generate_random  (FTM)*P1068R11
      Comparisons forstd::reference_wrapper, and constraints for comparisons ofstd::pair,std::tuple,std::optional, andstd::variant  (FTM)*  (FTM)*P2944R31419 (partial)*
      Padded mdspan layouts  (FTM)*P2642R6
      New CTAD forstd::span andstd::mdspan with integral constantsP3029R119
      Atomic maximum and minimum  (FTM)*P0493R5
      std::formatter<std::filesystem::path>  (FTM)*P2845R8
      Printing Blank Lines withstd::println()  (FTM)*P3142R014*19*19.41**
      Undeprecatestd::polymorphic_allocator::destroyP2875R41519.41*
      Removing deprecated strstreamsP2867R219
      Removing deprecatedstd::shared_ptr Atomic Access APIsP2869R4
      Removingstd::wstring_convertP2872R319
      DR23: Permit an efficient implementation ofstd::print  (FTM)*P3107R5
      P3235R3
      19.43*
      Execution control library  (FTM)*P2300R10
      P3396R0
      std::inplace_vector: dynamically-resizable vector with fixed capacity  (FTM)*P0843R14
      std::philox_engine: counter-based random number engine  (FTM)*P2075R6
      std::optional range support  (FTM)*P3168R2
      std::is_virtual_base_of: type trait for detecting virtual base classes  (FTM)*P2985R01520
      std::dims forstd::mdspan  (FTM)*P2389R219
      DR11: Formal specification of the type ofstd::ignoreP2968R2151919.42*
      DR20: Removing the common reference requirement from the indirectly invocable concepts  (FTM)*P2997R1151919.42*
      Deprecatingstd::is_trivial andstd::is_trivial_vP3247R21521
      DR20: Algorithm function objectsP3136R1Yes1419.39*14.0.3*
      std::ranges::cache_latest_view  (FTM)*P3138R515
      Constrainingstd::expectedequality operators  (FTM)*P3379R015
      std::aligned_accessor: anstd::mdspan accessor expressing pointer over-alignment  (FTM)*P2897R721
      std::is_sufficiently_aligned: checks a pointer’s alignment precondition  (FTM)*P2897R721
      std::atomic_ref::address()  (FTM)*P2835R7
      DR11/20: cv-qualified types instd::atomic andstd::atomic_refP3323R119.44*
      constexprstd::atomic andstd::atomic_ref  (FTM)*P3309R3
      constexpr forspecialized memory algorithms  (FTM)*P3508R0
      P3369R0
      15
      <stdbit.h> and<stdckdint.h>P3370R115
      <simd>:data-parallel types  (FTM)*  (FTM)*P1928R15
      P3430R3
      P3441R2
      P3287R3
      P2663R7
      P2933R4
      A utility for creatingexecution environmentsP3325R5
      constexpr for exception types, e.g.std::bad_alloc,std::bad_cast etc.  (FTM)*P3068R6
      P3378R2
      Trivial relocatability traits and operations  (FTM)*P2786R13
      Defang and deprecatestd::memory_order::consumeP3475R1
      Putstd::monostate in<utility>P0472R3152119.50*
      std::indirect  (FTM)*P3019R14
      std::polymorphic  (FTM)*P3019R14
      Moreconstexpr for containers and container adaptors:

      std::deque,std::flat_map,std::flat_multimap,std::flat_set,std::flat_multiset,std::forward_list,std::list,std::map,std::multimap,std::queue,std::priority_queue,std::set,std::multiset,std::stack,std::unordered_map,std::unordered_multimap,std::unordered_set, andstd::unordered_multiset
        (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*

      P3372R3
      constexprstd::inplace_vector for non-trivial types  (FTM)*P3074R7
      std::ranges::to_input_view  (FTM)*P3137R315
      std::ranges::approximately_sized_range andstd::ranges::reserve_hint  (FTM)*P2846R6
      <hive>: A bucket-based container that re-uses memory locations from erased elements  (FTM)*P0447R28
      <contracts>: Contract-violation handling support  (FTM)*P2900R14
      Standard library hardening  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*P3471R415(partial)*19.44*(partial)*
      Freestanding library:<algorithm>,<numeric>,<random>, (<execution>,<memory>)
        (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*
      P2976R1
      DR20: Converting contiguous iterators to pointersP3349R015
       

      C++26 feature
       

      Paper(s)
      GCC libstdc++
      Clang libc++
      MSVC STL
      Apple Clang*

      * - hover over a cell marked with the star* to see additional pop-up notes.
      DRnn - the numbernn after "DR" denotes target C++ revision the Defect Report is applied to, e.g., DR20 → C++20.

      [edit]External links

      1. C++26 - Wikipedia
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/26&oldid=181028"

      [8]ページ先頭

      ©2009-2025 Movatter.jp