C2x
C2x| C 언어 개정 |
|---|
C2x는 다음 (C17 이후) 주요 C 언어 표준 개정의 비공식적인 이름이다.[1][2] 그것은 2023년에 투표될 것으로 예상되며 따라서 C23이 될 것이다.[3]
특징들
최신 작업 초안에 통합된 변경사항은 다음과 같다.
- 부동 소수점 산술에 대한 IEEE 754 표준의 최신 버전인 ISO/IEC 60559:2020에 대한 지원.
- 단일 주장 _Static_assert
- C++11 스타일 속성 구문 및
nodiscard,maybe_unused,deprecated, 그리고fallthrough특성 - 확장 이항 부동 소수점 산술
memccpy(),strdup(),strndup()– POSIX 및 SVID C 확장에서 찾을 수 있는 기능과 유사- 2의 보완 부호 표현 필요
- K&R 기능 정의 제거
- 선언 앞에 라벨을 표시하고 복합 문 끝에 라벨을 표시할 수 있음
- 함수 정의에[4] 이름 없는 매개 변수
- 다음과 같은 이진 리터럴
0b10101010, 그리고%b에 대한 변환 지정자printf()직계 가족 - 어레이와[5] 함께 const를 사용할 수 있는 향상된 지원
- 선택한 정수 산술 수행을 위한 일반 함수 입력(Integer 오버플로)
_BitInt(N)그리고UnsignedBitInt(N)비트 전송 정수의 유형- #elifdef와 #elifndef
- 숫자 구분 기호: 0xFFF'FFFF
추가로 제안된 기능은 다음과 같다.
지원
GCC 9,[7] Clang 9.0 [8]및 Pelles C 11.00[9] 컴파일러는 이 표준을 지원하기 위해 컴파일러 플래그를 구현한다.
참조
- ^ "History of C". cppreference.
- ^ Keaton, David (2016-09-19). "WG 14 N 2086 -- C2x Charter". www.open-std.org. Retrieved 2021-01-03.
- ^ "Revised C23 Schedule WG 14 N 2759" (PDF). www.open-std.org. Retrieved 2021-06-19.
- ^ "Proposal for C2x WG14 N2480" (PDF). www.open-std.org.
- ^ "C2x Proposal: WG14 N2607" (PDF). www.open-std.org.
- ^ Meneide, JeanHeyd (2021-05-15). "Not-So-Magic - typeof(…) in C". Retrieved 2021-12-04.
- ^ "GCC 9 Changes". GCC 9 Release Notes.
- ^ "Add a new language mode for C2x". LLVM Project Repository.
- ^ "major changes between 10.00 and 11.00".
