Namespaces
Variants

C++26

cppreference.net에서
< cpp

C++ 표준의 차세대.

C++26에 대한 현재 IS 일정: P1000R6 (2024-05-14).

새로운 언어 기능

새로운 라이브러리 기능

새로운 모듈

새로운 헤더

**참고:** 제공된 웹페이지 내용은 이미 HTML 태그와 C++ 관련 용어( 태그 내부)를 포함하고 있으며, 이러한 요소들은 번역에서 제외하도록 지시받았습니다. 따라서 원본 텍스트에서 번역이 필요한 실제 한국어 콘텐츠가 존재하지 않아, 출력 결과가 입력과 동일하게 유지되었습니다.

C 호환성 헤더:

폐기된 기능

제거된 기능

사용 중단된 기능

결함 보고서

컴파일러 지원

주요 문서: C++26 컴파일러 지원

C++26 핵심 언어 기능

C++26 기능

 
문서

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
DR98: 렉싱에서 정의되지 않은 동작 제거 P2621R3 예 3.3 16.0.0*
DR98: 인코딩할 수 없는 문자열 리터럴을 ill-formed로 만들기 P1854R4 14 14 16.0.0*
비평가 문자열 P2361R6 14 17 (부분)*
18
16.0.0*
추가 @, $, 및 `을/를 기본 문자 집합 P2558R2 15 예 16.0.0*
Constexpr 캐스트 from void*  (FTM)* P2738R1 14 17
DR20: 표준 속성의 무시 가능성에 대해 P2552R3 15 예
DR11: 중괄호 초기화 목록을 위한 정적 저장소 P2752R3 14
사용자 생성 static_assert 메시지  (FTM)* P2741R3 14 17
이름이 없는 자리표시자 변수  (FTM)* P2169R4 14 18
팩 인덱싱  (FTM)* P2662R3 15 19
열거형에 대한 폐지된 산술 변환 제거 P2864R2 14 18
DR11/20: 템플릿 매개변수 초기화 P2308R1 9 18
반환된 참조를 임시 객체 에 바인딩 금지 P2748R5 14
19 구조적 바인딩을 위한 속성  (FTM)* P0609R3 15 19
초기화되지 않은 읽기에 대한 오류 동작, [[indeterminate]] 속성 P2795R5
P3684R1
16
= delete("reason");  (FTM)* P2573R2 15 19
가변 인자 friend  (FTM)* P2893R3 15 20
DR98: 집계 초기화 에서 중괄호 생략 규칙 명확화 P3106R1 예
17 DR20: 모듈 선언이 매크로가 되는 것 금지 P3034R1
15 DR11: 사소한 무한 루프는 정의되지 않은 동작이 아님 P2809R3 14
19 Constexpr  placement new (FTM) * P2747R2 15
20 구조적 바인딩 선언을 조건으로 사용  (FTM)* P0963R3 15 6 (부분)*
21
제약 조건 순서 지정fold 표현식  포함 (FTM)* P2963R3 19
불완전한 타입에 대한 포인터 삭제는 ill-formed여야 함 P3144R2 15 19
6.7 구조적 바인딩이 팩 을 도입할 수 있음 (FTM)* P1061R10 16 21
Constexpr 구조적 바인딩과 constexpr 변수에 대한 참조 P2686R5 16* 22 (부분)* 6.7
Constexpr 예외  (FTM)* P3068R6 16
옥스퍼드 가변 인자 쉼표 P3176R1 15 20
폐지된 배열 비교 제거 P2865R6 15 20
#embed  (FTM)* P1967R14 15 19*
콘셉트와 변수 템플릿 템플릿 매개변수  (FTM)* P2841R7 22 (부분)*
사소한 공용체  (FTM)* P3074R7
P3726R2
관찰 가능한 체크포인트 P1494R5 16
계약  (FTM)* P2900R14 16
반영  (FTM)* P2996R13
P3096R12
P3293R3
P3394R4
P3795R2
16*
확장문  (FTM)* P1306R5 16
Constexpr 가상 상속  (FTM)* P3533R2 16
전처리기 오류 진단 P2843R3 16
main을 전역 모듈에 연결 허용 P3618R0 16
DR20: 모듈 선언 앞에 #line 허용 P3868R1
DR17: 타입 템플릿 템플릿 매개변수에 대한 클래스 템플릿 인자 추론 P3865R3
계약 어설션에서 splice 표현식의 const화 P3598R0
 

C++26 기능
 

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

C++26 라이브러리 기능

C++26 기능

 
문서

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
charconv< 함수의 성공 또는 실패 테스트> ( FTM)*P2497R0 14 18 16.0.0* std::text_encoding
: 텍스트 인코딩 식별 ( FTM)*P1885R12 P2862R1
14
Arithmetic overloads of
std::to_string and std::to_wstring use std::format ( FTM)*P2587R3 14 형식 인수 유형 검사
( FTM)*P2757R3 15 포인터 서식 지정
( FTM)*P2510R3 14 *17 *19.40* *std::chrono
값 클래스에 대한 해싱 지원 (FTM) *P2592R316 rcu : 읽기-복사 갱신 (
<FTM>)* P2545R4hazard_pointer: 위험 포인터 ( FTM
<)>*P2530R3 ADL-내성 std::projectedP2538R114 *
18* 19.38* *16.0.0* constexpr 안정 정렬 ( FTM) *
P2562R1 15 21 멤버 std::basic_format_arg::visit() ( FTM )
*P2637R3 15 19 멤버 std::variant::visit() ( FTM )
*P2637R3 15 18 std::is_within_lifetime ( FTM ) *
P2641R4 P3450R122 (부분)*연관 컨테이너를 나머지 이종 오버로드로 확장 ( FTM
)
*
P2363R5 16 std::weak_ptr을 비순차 연관 컨테이너의 키로 사용할 수 있도록 설정 ( FTM )
*P1901R216  파일 스트림의 네이티브 핸들 (FTM) * P1759R6
14  18 16.0.0*문자열 스트림과 std::string_view 의 인터페이싱 ( FTM )
*P2495R3 16 19 std::bitset과 std::string_view 의 인터페이싱 (
FTM)*P2697R1 16 18 16.0.0*더 많은 을(를) cmath 및
complexconstexpr에 대해< (>FTM<)> * (FTM) *P1383R24.6 (부분)*비율에 새로운 2022 SI 접두사 추가: std::quecto ,
std::ronto, std::ronna 및 std::quetta (FTM) *P2734R014 17 * std::function_ref : 타입 지워진 호출 가능 참조 (
FTM) *P0792R14P3961R116 std::copyable_function
(
FTM
) *P2548R616 std::bind_front , std::bind_back
및 std::not_fn을 NTTP 호출 가능 개체로 (FTM)
 * (FTM) * (FTM) *P2714R116 std::submdspan()
( FTM
) *P2630R4P3355R1P3663R3 P3982R2
16
프리스탠딩 언어: 선택적
::operator new
P2013R5
19.38*프리스탠딩 std::char_traits ,
std::errc 및 다음의 기능: charconv, cstdlib<, >cstring<, >cwchar< (>FTM<)> * (FTM) * (FTM) * (FTM) * (FTM) * (FTM) *P2338R419.38*더 많은 프리스탠딩 기능 ( FTM
)
 * (FTM) * (FTM) * (FTM) * (FTM) * (FTM) * (FTM) * (FTM) *P2198R719.38*포화 산술
( FTM
) *P0543R3P4052R014 16
*
18
16.0.0*디버깅
: 디버깅 지원 (
<FTM>)* P2546R5P2810R416* linalg
: BLAS 기반의 자유 함수 선형 대수 인터페이스
(FTM
<)>* P1673R13P3050R2P3222R0P3371R5
assert()
매크로를 사용자 친화적으로 만들기
P2264R7
Yes*동적 형식 문자열 ( FTM)
* P2918R2P3953R314* 16
*
18 16.0.0*
std::span::at() (
FTM )
* P2821R514 18 16.0.0* std::complex 에 튜플 프로토콜 추가 ( FTM
)* P2819R215 19 std::generate_canonical 에 대한 새로운 명세 P0952R2 16
19.42*더 이상 사용되지 않는 typedef std::allocator::is_always_equal 제거 P2868R3
15 18 16.0.0* 인수를 받지 않는 std::basic_string::reserve() 함수 오버로드 제거
P2870R318 16.0.0* 더 이상 사용되지 않는 유니코드 변환 퍼싯 제거 ( codecvt )
P2871R3<18 >16.0.0* 프리스탠딩: std::strtok 제거
(FTM )*P2937R014 19.40* 프리스탠딩 라이브러리: 부분 클래스 (
FTM )* (FTM )* (FTM )* (FTM )* (FTM )*P2407R514 19.42* 프리스탠딩 라이브러리: std::inout
, std::expected, std::span (FTM
 )* (FTM )* (FTM )* (FTM )*P2833R214
19.42* DR23: std::basic_const_iterator
는 기본 타입의 변환 가능성을 따라야 합니다 (FTM )*P2836R1P2950R0 14
19.40*
DR20: std::make_format_args
는 이제 전달 참조 대신 lvalue 참조만 허용합니다 P2905R214 18 19.40* 16.0.0* DR20: 코드 단위를 정수로 서식 지정 수정 (
FTM )*P2909R413.3 18 19.40* 16.0.0* views::concat (
FTM )*P2542R815 문자열 및 문자열 뷰의 연결 (
FTM)*P2591R5 15 19 알고리즘에 대한 목록 초기화 활성화 ( FTM ) *
P2248R8P3217R0 P3787R215 std::ranges::generate_random ( FTM
)
*
P1068R11
std::reference_wrapper 에 대한 비교 및 std::pair, std::tuple ,
std::optional, std::variant 비교에 대한 제약 (FTM)* (FTM) *P2944R314 22 19 (부분)*패딩된 mdspan 레이아웃 ( FTM ) *
P2642R616
정수 상수를 사용한  std::span 및 std::mdspan에 대한 새로운 CTAD P3029R1 16
19 원자 최대 및 최소 (FTM) * P0493R5 16
std::formatter  std::filesystem::path (FTM) * P2845R8
16 <std::println()> 으로 빈 줄 출력 (FTM) * P3142R0
14* 19*19.41** std::polymorphic_allocator::destroy의 비권장 철회 P2875R414.3 *15
19.41*더 이상 사용되지 않는 strstreams 제거 P2867R2 19 더 이상 사용되지 않는 std::shared_ptr 원자 접근 API 제거
P2869R4 std::wstring_convert
제거P2872R319 DR23:
std::print의 효율적인 구현 허용 ( FTM
)* P3107R5P3235R316 19.43* constexpr 배치 new
(
FTM )
*P2747R2 15 20 실행 제어 라이브러리 ( FTM ) *
P2300R10 P3388R3P3396R1P3433R1P3481R5 P3570R2
P3682R0
P3887R1
추가 실행 제어 라이브러리 수정
P3373R4
P3826R5
P3986R1
P4154R0
P4159R0std::inplace_vector: 고정 용량을 가진 동적 크기 조정 벡터 (
FTM
)
*
P0843R14
P3981R2P4022R0 16 std::philox_engine: 카운터 기반 난수 엔진 ( FTM
)
*
P2075R6
16 std::optional  범위 지원 (FTM) * P3168R2
P3913R116  22 (부분)*std::is_virtual_base_of: 가상 기본 클래스 감지를 위한 타입 특성 ( FTM
)
* P2985R0
15 20  std::dims std::mdspan을 위한 ( FTM )
*P2389R216  19 DR11: std::ignore의 타입에 대한 공식 명세 P2968R2 15 19
19.42*DR20: 간접적으로 호출 가능한 개념에서 공통 참조 요구 사항 제거 ( FTM ) *
P2997R1 15 19 19.42* std::is_trivial 및 std::is_trivial_v 비권장
P3247R215 21 DR20: 알고리즘 함수 객체 P3136R1 Yes Yes
19.39* Yes std::ranges::cache_latest_view ( FTM )
* P3138R515 std::expected 동등 연산자 제약 (
FTM) * P3379R015 22 std::aligned_accessor : 포인터 초과 정렬을 표현하는 std::mdspan 접근자
(FTM)* P2897R716 std::is_sufficiently_aligned: 포인터의 정렬 전제 조건 확인 ( FTM
)* P2897R716 std::atomic_ref::address() ( FTM )
* P2835R7P3936R116 (부분)*22 (부분)* DR11/20:
std::atomic
및 std::atomic_ref
의 cv 한정 타입P3323R116 19.44* constexpr std::atomic 및
std::atomic_ref (FTM) *P3309R3constexpr 특수화 메모리 알고리즘 ( FTM
)* P3508R0P3369R015 stdbit.h 및
stdckdint.h
(
<FTM>)<*>  (FTM)* P3370R115*16 simd : 데이터 병렬 타입 (
FTM
<)>*P1928R15 P3430R3P2876R3P3691R1P3922R1 P3690R1
P3932R0
P4012R1
16 (부분)
*
SIMD 수학 연산
P1928R15
P3844R4
실행 환경 생성을 위한 유틸리티P3325R5
constexpr 예외 타입, 예: std::bad_alloc
,
std::bad_cast 등 (
FTM)*P3068R6P3378R2 P3842R216 std::simd::chunkP3441R2 16
SIMD 비트 연산
(
FTM
) * P2933R4
 std::simd의 인터리브된 std::complex 값 지원 (
FTM)*P2663R7 무력화 및 비권장P3475R1std::monostate 를
utilitystd::memory_order::consume 에 배치
P0472R315 21 <19.50*> std::indirect ( FTM )
* P3019R1416 std::polymorphic ( FTM )
* P3019R1416 더 많은 constexpr 컨테이너 및 어댑터 ( FTM )
*
  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*  (FTM)*
P3372R3 16 (부분)* 21 (부분)*
22 (부분)*
비사소한 타입을 위한 constexpr std::inplace_vector ( FTM)*P3074R7 std::ranges::as_input_view
( FTM)*P3137R3 P3828R1
15
*16
*std::ranges::approximately_sized_range
및 std::ranges::reserve_hint ( FTM)*P2846R6 hive
<: 지워진 요소의 메모리 위치를 재사용하는 버킷 기반 컨테이너> ( FTM)*P0447R28 관찰 가능한 체크포인트에 대한 라이브러리 지원
( FTM)*P1494R5 P3641R0
16
계약
<: 계약 위반 처리 지원> ( FTM)*P2900R14 P3819R0
16
표준 라이브러리 강화
P3471R4 P3697R1
P3878R1
15
(부분)*19.44* (부분)*19.50* (부분)*프리스탠딩 라이브러리:
algorithm<, >execution<, >memory<, >numeric< 및 >
random< (> FTM)* ( FTM)* ( FTM)* ( FTM)* ( FTM)*P2976R1
DR20: 연속 반복자를 포인터로 변환
P3349R0 15 19.51* meta
<: 리플렉션 라이브러리 지원> ( FTM)*P2996R13 P3394R4
P3293R3
P3096R12
P3795R2
P4156R0
16 (부분)
*리플렉션에서 오류 처리를 위한 constexpr 예외
( FTM)*P3560R2 16 std::define_static_object
, std::define_static_array, std::define_static_string ( FTM)*P3491R3 16 std::simd::basic_vec
및 std::simd::basic_mask는 범위 타입입니다 P3480R6 16 std::optional
T< (&> FTM)* ( FTM)*P2988R12 P3836R2
16
22 std::string::subview()
및 std::string_view::subview() ( FTM)*P3044R2 16 22 constexpr
std::shared_ptr 및 관련 ( FTM)*P3037R6 코루틴 태스크 타입
( FTM)*P3552R3 P3980R1
P3927R2
P3941R4
P4151R1
비동기 범위: 비순차적 동시성을 위한 범위 생성
( FTM)*P3149R11 P3815R1
병렬 스케줄러
( FTM)*P2079R10 P3804R2
constexpr 예외를 사용한 고품질 송신자 진단
P3557R3 execution::write_env
및 execution::unstoppable 송신자 어댑터 P3284R4 std::views::indices
( FTM)*P3060R3 16 병렬 범위 알고리즘
( FTM)*P3179R9 P3709R2
원자 부동소수점 최소/최대
( FTM)*P3008R6 원자 축소 연산
( FTM)*P3111R8 SIMD 순열 연산
( FTM)*P2664R11 std::mdspan::at()
P3383R3 16 std::exception_ptr_cast()
( FTM)*P2927R3 P3748R0
P3981R2
16 (부분)
*표준화된 constexpr 타입 정렬
( FTM)*P2830R10 P3778R0
P4140R0
16
std::constant_wrapper
( FTM)*P2781R9 P3978R3
16
23 std::apply
변경: std::apply_result, std::is_applicable 및 std::is_nothrow_applicable ( FTM)*P1317R2
std::promise 및 std::packaged_task에서 타입 지워진 할당자 사용을 일관되게 만들기 P3503R3 17 19.51* std::filesystem::path::display_string()
및 std::filesystem::path::native_encoded_string() ( FTM)*P2319R5
std::istream::ignore()를 덜 놀랍게 만들기 P3223R2 16 19.50* DR11:
std::valarray 및 std::initializer_list에 대한 begin/end의 불일치 해결  (FTM)*  (FTM)* P3016R6 19.51*
std::flat_meow 수정  (FTM)*  (FTM)* P3567R2 22 19.51*
std::integer_sequence를 구조적 바인딩 및 확장문에서 사용 가능하게 만들기  (FTM)* P1789R3 16 22
constexpr 텍스트 서식 지정  (FTM)* P3391R2
std::start_lifetime  (FTM)* P3726R2
std::is_structural: 구조적 타입 감지를 위한 타입 특성 ( FTM)*P3856R8 16 std::constant_wrapper
가 std::function_ref 생성자 인수로 사용됨 P3948R1 16 난수 생성에서
signed char 및 unsigned char 지원
P4037R1

기능 매크로를 사용한 계약 위반 처리기의 구현 정의 대체 가능성 감지   (FTM)*

P3886R0 16
DR20: 뷰 반복자/센티널의 사용자 정의 생성자를 비공개로 만들기 P3059R2 Yes
DR20: 더 안전한 사용을 위한 필터 뷰 확장  (FTM)* P3725R3 16
 

C++26 기능
 

문서
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*

* - 별표 *로 표시된 셀 위에 마우스를 올리면 추가 팝업 노트를 볼 수 있습니다.
DRnn - "DR" 뒤의 숫자 nn은 결함 보고서가 적용되는 대상 C++ 개정판을 나타냅니다(예: DR20 → C++20).

외부 링크

1. C++26 - 위키백과