Π ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π°, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π³ΠΎΡΠ²ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎΡΠΎ Π·Π° ΠΏΡΠΎΠ»Π΅ΡΡΠ° Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ GCC 15, Π΅ ΠΏΡΠΈΠ΅ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ° C23 Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ GNU (Β«-std=gnu23Β») ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C (ΠΏΠΎ-ΡΠ°Π½ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡΡ C17 β Β«-std=gnu17Β»). ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π² Π½ΠΎΠ²ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡ ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΠΊΠΈ, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΡΠ° nullptr, ΡΠΈΠΏΠ° _BitInt(n) ΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠΌΠΈ bool, true ΠΈ false, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΠ²Π°Ρ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ ΡΡΡ ΡΡΡΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π°.
Π‘ΡΠ°Π½Π΄Π°ΡΡΡΡ C23 (ISO/IEC 9899:2024) Π±Π΅ΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ ΠΎΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½Π°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ (ISO) Π½Π° 31 ΠΎΠΊΡΠΎΠΌΠ²ΡΠΈ 2024 Π³ΠΎΠ΄ΠΈΠ½Π°. Π‘ΡΠ΅Π΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π½ΠΎΠ²ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡ:
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠΈΠ» K&R C, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π΄ΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° ANSI C ΠΈ ΠΎΠΏΠΈΡΠ°Π½ Π² ΠΊΠ½ΠΈΠ³Π°ΡΠ° Β«The C Programming LanguageΒ» Π½Π° ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½ ΠΈ Π ΠΈΡΡΠΈ. Π‘ΡΠΈΠ»ΡΡ K&R ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΡΠ»Π΅Π΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«int add(a, b) int a, b; {}Β».
- ΠΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΊΠ°ΠΊΡΠΎ Π² C++). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ Β«int f(int, int) { return 7; }Β».
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Β«[[ΠΈΠΌΠ΅]]Β» Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈ, ΠΊΠ°ΠΊΡΠΎ Π² C++ (Β«[[gnu::const]]Β», Β«[[deprecated]]Β», Β«[[fallthrough]]Β», Β«[[maybe_unused]]Β», Β«[[nodiscard]]Β», Β«[[noreturn]]Β», Β«[[reproducible]]Β», Β«[[unsequenced]]Β»). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡΠΈΠ±ΡΡΡΡ [[noreturn]] ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° se ΡΠΊΠ°Π·Π²Π°, ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π½Π΅ Π²ΡΡΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ (Π·Π°Π³Π»Π°Π²Π½ΠΈΡΡ ΡΠ°ΠΉΠ» stdnoreturn.h ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡΡ Β«_NoreturnΒ» ΡΠ° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° u8Β» Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π² UTF-8.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΠΏΡΡ char8_t Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°ΡΠ° UTF-8, Π° ΡΡΡΠΎ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ mbrtoc8() ΠΈ c8rtomb().
- ΠΡΠΎΠΌΠ΅Π½Π΅Π½ΠΎ Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π°ΡΠ° Π΄ΡΠΌΠ° Β«autoΒ», ΠΊΠΎΡΡΠΎ ΡΠ΅Π³Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΈΠ·Π²ΠΎΠ΄ Π½Π° ΡΠΈΠΏ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° Β«autoΒ» Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΏ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠΈΠΏΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΈΠΏΠ° Π½Π° ΠΈΠ·ΡΠ°Π·Π° Π·Π° ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Β«auto y = cos(x);Β».
- Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Ρ ΠΏΡΠ°Π·Π΅Π½ ΡΠΏΠΈΡΡΠΊ ΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΡΠ΅Π³Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΊΠ°ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π·Π°Π³Π»Π°Π²Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ <stdckdint.h> ΠΈ <stdbit.h> Ρ ΠΌΠ°ΠΊΡΠΎΡΠΈ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΠΈ ΠΏΡΠ΅ΡΠΌΡΡΠ°Π½ΠΈΡ.
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΅ ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π½ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΌΠ΅ΡΡΠ° Π² ΡΡΡΡΠ°Π²Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΡΠΈΠ³ΡΠ°ΡΠΈ Π² ΠΊΠΎΠ΄Π° Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ ΠΎΡ ΡΡΠΈ ASCII ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ ΠΊΠ°ΡΠΎ Π΅Π΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ° Β«??=Β», ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΠΌΠ΅ΡΡΠΎ Β«#Β». Π‘Π»Π΅Π΄ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Unicode ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΡΠΈΠ³ΡΠ°ΡΠΈ Π΅ Π·Π°Π³ΡΠ±ΠΈΠ»Π° ΡΠΌΠΈΡΡΠ».
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ Β«0bΒ» ΠΈ Β«0BΒ» Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π² Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«int b = 0b101010Β».
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠΌΠΈ bool, static_assert, alignas, alignof ΠΈ thread_local.
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΅ Π·Π°Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ°Π·Π½ΠΈ ΡΠΊΠΎΠ±ΠΈ Β«{}Β» Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΡΠ»Π΅Π²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Ρ.Π΅. Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΈΡΠ΅ Β«struct S { int x, y } s = {};Β».
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π² ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΈ ΠΈ ΡΡΡΠΈΠ½Π³ΠΎΠ²ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Β«int \u0024 = 0;Β».
- Π Β«stddef.hΒ» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ°ΠΊΡΠΎΡ Β«unreachableΒ».
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΡΠΈΠΏ nullptr_t ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° nullptr Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½ΡΠ»Π΅Π²ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Ρ Π² Π²ΡΠ΅ΠΊΠΈ ΡΠΈΠΏ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ NULL, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΡΠΈΠΏ void*. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΊΠ°Π·Π²Π° Β«void func(nullptr_t); func(0); func((void *)0);Β».
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Β«_BitInt (N)Β» ΠΈ Β«unsigned _BitInt (N)Β» Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»Π° Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π±ΡΠΎΠΉ Π±ΠΈΡΠΎΠ²Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ Β«_Decimal32Β», Β«_Decimal64Β» ΠΈ Β«_Decimal128Β» ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Π° Β«βΒ» Π·Π° ΡΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΡΡΠ΄ΠΈΡΠ΅ Π² ΡΠΈΡΠ»Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«1β000β000Β»).
- Π‘ΡΡΡΠΊΡΡΡΠΈ, ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π²Π΅Π΄Π½ΡΠΆ Π² Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ Ρ Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²ΡΠ°ΡΡΡ ΡΠ΅ Π΅ΡΠΈΠΊΠ΅Ρ.
- Π ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ typeof ΠΈ typeof_unqual.
- ΠΠΎΡΠ²ΠΈΠ»Π° ΡΠ΅ Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° constexpr Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ.
- Π Π·Π°Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ float.h ΠΈ math.h ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΈΡΠ΅ INFINITY, NAN, FLT_NORM_MAX, DBL_NORM_MAX ΠΈ LDBL_NORM_MAX.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ Π½Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ° #elifdef, #elifndef, #warning ΠΈ #embed. Β«#embedΒ» Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ.
- Π£ΠΏΡΠΎΡΠ΅Π½ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ² Π±ΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ (variadic).
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½ΠΈΡΡΠ° (enum).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Β«%bΒ» Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π²ΠΎΠΈΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ printf() ΠΈ scanf().
- ΠΠΈΠΊΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° realloc() Ρ Π½ΡΠ»Π΅Π² ΡΠ°Π·ΠΌΠ΅Ρ Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π½Π° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
- Π‘ΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ memccpy(), strdup(), strndup(), gmtime_r() ΠΈ localtime_r().
- Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ asctime() ΠΈ ctime() ΡΠ° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ.
- ΠΠ°ΠΊΡΠΎΡΠΈΡΠ΅ static_assert ΠΈ thread_local ΡΠ° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° ΠΊΠ»ΡΡΠΎΠ²ΠΈ Π΄ΡΠΌΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
