Namespaces
Variants

C23

From cppreference.net
< c

ISO/IEC 9899:2024 , 일명 C23 , 은 C 표준의 현재 개정판입니다.

C23은 사전 정의된 매크로 __STDC_VERSION__ 의 값을 202311L 로 변경합니다.

목차

새로운 언어 기능

선택적 기능을 위한 기능 테스트 매크로

새로운 라이브러리 기능

새로운 헤더

라이브러리 기능

폐기된 기능

제거된 기능

사용 중단된 기능

결함 보고서

C23에서 수정된 결함 보고서 (?개 결함)

컴파일러 지원

C23 코어 언어 기능

번역 시 주의사항: - HTML 태그와 속성은 그대로 유지 - ` ` 태그 내의 "u8" 텍스트는 번역하지 않음 - "string literals" → "문자열 리터럴" (C++ 용어는 번역하지 않음) - "Type change of" → "타입 변경" (정확한 기술 용어 사용) - 문서 번호 "N2653"은 번역하지 않음 - 표의 숫자 및 서식은 그대로 유지 **변환 결과:** - HTML 태그와 속성은 그대로 유지됨 - ` ` 태그 내의 "noreturn" 텍스트는 C++ 용어로 번역하지 않음 - N2764 문서 번호는 번역하지 않음 - 숫자 값들(13, 15, 6.5, 2022.2)은 번역하지 않음 - 표의 빈 셀들은 그대로 유지됨 - 모든 HTML 구조와 서식이 원본과 동일하게 보존됨 변경사항: - "and"를 "및"으로 번역 - HTML 태그, 속성, 태그 내부의 텍스트는 그대로 유지 - C++ 관련 용어(unsequenced, reproducible)는 번역하지 않음 - 숫자, 링크, 테이블 구조 등은 원본 그대로 보존
C23 기능

논문

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
static_assert 메시지 없는 static_assert N2265 9 9 Yes Yes 6.5 2021.1.2 (clang based)
[[ nodiscard ]] N2267 10 9 지원 6.4 2021.1.2 (clang 기반)
[[ maybe_unused ]] N2270 10 9 지원 6.4 2021.1.2 (clang 기반)
[[ deprecated ]] N2334 10 9 지원 6.4 2021.1.2 (clang 기반)
속성 N2335
N2554
10 9 6.4 2021.1.2 (clang based)
IEEE 754 십진 부동소수점 타입 N2341 4.2 (부분적)*
12
13.0 (부분적)*
[[ fallthrough ]] N2408 10 9 지원 6.4 2021.1.2 (clang 기반)
u8 문자 상수 N2418 10 15 6.5 2022.2
프로토타입 없는 함수 정의 제거 N2432 10 15 2022.2
[[ nodiscard ]] 메시지와 함께 N2448 11 10 6.4 2021.1.2 (clang 기반)
함수 정의에서 이름 없는 매개변수 N2480 11 11 Yes 6.4 2021.1.2 (clang based)
Labels 선언 앞과 블록 끝에서의 레이블 N2508 11 16 부분적* 6.5 17.0 *
이진 정수 상수 N2549 4.3 *
11
2.9 *
9
19.0 (2015)* * 6.5 11.0 *
__has_c_attribute 전처리기 조건문에서 N2553 11 9 6.5 2021.1.2 (clang based)
중복 속성 허용 N2557 11 13 Yes 6.5 2021.4 (clang-based
IEEE 754 교환 및 확장 타입 N2601 7 (부분적)*
14
6 (부분적)* 부분적*
숫자 구분자 N2626 12 13 19.0 (2015)* * 지원 6.5 18.0 *
#elifdef #elifndef N2645 12 13 19.40* 13.1.6* 6.5 2021.4
u8 문자열 리터럴 의 타입 변경 N2653 13
[[ maybe_unused ]] 레이블용 N2662 11 16 6.5 2022.2
#warning N2686 6.5
비트 정밀 정수형 ( _BitInt ) N2763 14 (부분적)* 15 6.5 2022.2
[[ noreturn ]] N2764 13 15 6.5 2022.2
비트 정밀도 정수 상수를 위한 접미사 N2775 14 15 2022.2
__has_include 전처리기 조건문에서 N2799 5 19.11* 6.5 18.0
유니코드 표준 부속서 31을 사용한 식별자 구문 N2836 13 15 6.5 2022.2
프로토타입 없는 함수 선언 제거 N2841 13 15 2022.2
빈 초기화 N2900 부분적*
13
부분적* 부분적* 부분적* 부분적*
typeof typeof_unqual N2927
N2930
부분적*
13
부분적*
16
19.39* 부분적* 부분적* 부분적* 부분적*
키워드의 새로운 철자법 N2934 13 16 6.5
미리 정의된 true false N2935 13 15 2022.2
[[ unsequenced ]] [[ reproducible ]] N2956 15
가변 인수 매개변수 목록에 대한 요구 사항 완화 variadic parameter list N2975 13 16 6.5 2023.1
객체 정의에서의 타입 추론 N3007 13 18
#embed N3017 15 19
constexpr 객체 N3018 13 19
향상된 일반 열거형 N3029 13 20 *
고정된 기본 타입을 가진 열거형 N3030 13 20 *
__VA_OPT__ N3033 8
13
12 19.39* 6.5
복합 리터럴을 위한 저장 클래스 지정자 N3038 13
nullptr N3042 13 16


C23 기능


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

C23 라이브러리 기능