ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ_ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ( ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² )
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ register, ΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π΅ Π² ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠ»ΠΈ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΏΠ΅ΡΠΈΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°, ΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ½ΠΈΡ.
Π’Π΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄
ΡΠ΅Π»ΠΎ_ΡΡΠ½ΠΊΡΠΈΠΈ: ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ_ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
int max(int a, int b, int c) (* int m = (a Β« b) ? a : b; return (m Β» c) ? m : c; *)
ΠΠ΄Π΅ΡΡ int β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΡΠΈΠΏΠ°; max(int a, int b, int c) β ΡΡΠΎ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ_ΡΡΠ½ΠΊΡΠΈΠΈ; (* ... *) β ΡΡΠΎ ΡΠ΅Π»ΠΎ_ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΡ ΠΌΠΎΡΡΠΈΠ²Π° (Π² ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°) ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΊΠ°ΠΊ Β«ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ...Β», ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠΈΡΠ°Π»ΠΈΡΡ ΠΊΠ°ΠΊ Β«ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ...Β».
Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π΄Π°Π½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΡΠΎΡΡ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ Π΄Π»Ρ ΡΠ»Π΅Π½ΠΎΠ². ΠΡΠΎ Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΡΡΡΠ»ΠΎΠΊ, Π³Π΄Π΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ_Π±Π°Π·Π²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ_Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ: : ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ²_ΡΠ»Π΅Π½ΠΎΠ²
ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ²_ΡΠ»Π΅Π½ΠΎΠ²: ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ_ΡΠ»Π΅Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ_ΡΠ»Π΅Π½Π° , ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ²_ΡΠ»Π΅Π½ΠΎΠ²
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ_ΡΠ»Π΅Π½Π°: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ opt ( ΡΠΏΠΈΡΠΎΠΊ_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² opt )
ΠΡΠ»ΠΈ Π² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ΅_ΡΠ»Π΅Π½Π° Π΄Π°Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°Π·Π²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π°; Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
struct base (* base(int); ... *);
struct derived : base (* derived(int); base b; const c;
*);
derived::derived(int a) : (a+1), b(a+2), c(a+3) (* /* ... */ *)
derived d(10);
Π‘Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΠΊΡΠ° d Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ 11, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ»Π½Π° b Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ 12 ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ»Π΅Π½Π° c Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ 13. ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎ derived::derived() (ΡΠΌ. #8.5.5). ΠΠΎΡΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π΄Π»Ρ ΡΠ»Π΅Π½ΠΎΠ², Π½Π΅ ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. ΠΡΠ»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π½Π΅ Π½Π°Π΄ΠΎ Π΄Π°Π²Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠΌΠ΅ΡΡΠΎΠ². ΠΡΠ»ΠΈ ΠΊΠ»Π°ΡΡ ΡΠ»Π΅Π½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΠ²Π°ΡΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° Π½Π΅ Π½Π°Π΄ΠΎ Π΄Π°Π²Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
11. ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ Π‘ΡΡΠΎΠΊΠΈ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π‘ΡΡΠΎΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ #, ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ. ΠΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ; ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅, ΠΊΠΎΡΡΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ (Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ) Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ const ΠΈ inline Π΄Π°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ #define.
11.1 ΠΠ°ΠΌΠ΅Π½Π° ΠΠ΅ΠΊΡΠ΅ΠΌ
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π²ΠΈΠ΄Π°
#define ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠ°_Π»Π΅ΠΊΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π·Π°ΠΌΠ΅Π½Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π’ΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π²Π½ΡΡΡΠΈ (ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅) ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π‘ΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π°
#define ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ( ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ , ... , ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ) ΡΡΡΠΎΠΊΠ°_Π»Π΅ΠΊΡΠ΅ΠΌ
Π³Π΄Π΅ Π½Π΅Ρ ΠΏΡΠΎΠ±Π΅Π»Π° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈ (, ΡΠ²Π»Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Ρ ΠΈΠ΄ΡΡΠΈΠΌΠΈ Π·Π° Π½ΠΈΠΌ (, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΡΡΡΠΌΠΈ, ΠΈ ), Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, Π·Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π½ΠΈΡ, Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ· Π²ΡΠ·ΠΎΠ²Π°. Π€Π°ΠΊΡΠΈΡΠ΅ΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΡΡΠΌΠΈ; ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π°ΠΏΡΡΡΠ΅ Π² ΡΡΡΠΎΠΊΠ΅, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ, ΠΈΠ»ΠΈ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π§ΠΈΡΠ»ΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ. Π‘ΡΡΠΎΠΊΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΊΠ°Π½ΠΈΡΡΡΡΡΡ Π² ΠΏΠΈΡΠΊΠ°Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π½ΠΎ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅ ΡΠΊΠ°Π½ΠΈΡΡΡΡΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
(Ρ ΠΏΠΎΠΌΠΎΡΡΡ define) ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ².
Π ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΡΠΎΠΊΠ° Π·Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΅ΡΠ΅ ΡΠ°Π· ΡΠΊΠ°Π½ΠΈΡΡΠ΅ΡΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π½Π½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². Π ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠΈ \ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π°
#undef ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
Π²Π»Π΅ΡΠ΅Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΡΠ°.
11.2 ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π€Π°ΠΉΠ»ΠΎΠ²
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π²ΠΈΠ΄Π°
#include Β«ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°Β»
Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠ»Π½ΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΡΠ°ΠΉΠ»Π° ΠΈΠΌΡ_ ΡΠ°ΠΉΠ»Π°. Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΡΠ΅ΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π° Π·Π°ΡΠ΅ΠΌ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ . ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π°
#include Β«ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°Β»
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΈΡΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΠ΅, ΠΈ Π½Π΅ ΠΈΡΠ΅Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. (Π’ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΈ ΠΌΠ΅ΡΠ° Π·Π°Π΄Π°ΡΡΡΡ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ·ΡΠΊΠ°.) ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ #include ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ.
11.3 Π£ΡΠ»ΠΎΠ²Π½Π°Ρ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π²ΠΈΠ΄Π°
#if Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅-Π½ΠΎΠ»Ρ. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΡΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π² #12. ΠΡΠΎΠΌΠ΅ ΠΎΠ±ΡΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π‘++ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ½Π°ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ defined. ΠΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ ΠΈΠ΄Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΠ½Π° Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅-Π½ΠΎΠ»Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π±ΡΠ» ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ #define ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΡΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ #undef; ΠΈΠ½Π°ΡΠ΅ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0. ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π°
#ifdef ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ; ΡΠΎ Π΅ΡΡΡ, Π±ΡΠ» Π»ΠΈ ΠΎΠ½ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ # define. ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π°
#ifndef ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π² ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ
#else
ΠΈ Π΄Π°Π»Π΅Π΅ Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
#endif
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΡΠΎ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ #else ΠΈ #endif ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ, ΡΠΎ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΈ #else ΠΈΠ»ΠΈ, Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΠ²ΠΈΡ #else, #endif, ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.
ΠΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ.
11.4 Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π‘ΡΡΠΎΠΊΠΎΠΉ
ΠΠ»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌ, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘++, ΡΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π°
#line ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Β«ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°Β»
Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠΈΡΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅Π»ΡΡ Π΄ΠΈΠ°Π½ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Π·Π°Π΄Π°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠΎΡΠΎΠΌ. ΠΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
12. ΠΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠ΅ ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ Π‘++ ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ: Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³ΡΠ°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° (#8.4), Π² case Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ (#9.7), Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (#8.3), ΠΈ Π² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°Ρ (#8.6). Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΡΠΈΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΎΡΡΠ°Π½ΡΡ const, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΈ sizeof Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ
+ β * / % amp; ! ^ Β«β βΒ» == != Β« Β» Β«= Β»= amp; amp; !!
ΠΈΠ»ΠΈ ΡΠ½Π°ΡΠ½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ
+ β ~ !
ΠΈΠ»ΠΈ ΡΠ΅ΡΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ
?:
Π‘ΠΊΠΎΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π½Π΅ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠΎ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ½Π°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ amp;, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΡΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ, ΠΈΠ»ΠΈ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π£Π½Π°ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ amp; ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° Π½Π΅ΡΠ²Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π½ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠ°Π½ΡΡ ΠΈΠ»ΠΈ Π°Π΄ΡΠ΅Ρ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΉΠ΅ΠΊΡΠ° ΠΏΠ»ΡΡ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°.
ΠΠ΅Π½ΡΡΠ°Ρ ΡΠΈΡΠΎΡΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ° Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ #if: Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΠΈΠΌΠ΅Π½Π°, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ const, sizeof Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ.
13. Π‘ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΈ Π‘++ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π½ΠΈΠΆΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ· Π½ΠΈΡ .
ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ Π² ΡΠΈΡΠΎΠΌ Π²ΠΈΠ΄Π΅, ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»ΠΎΠ²Π°, ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π°ΡΠΈΡΠΌΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Π»ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ, Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠΎΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΡΠ³ΠΈΠ΅ Π°ΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°Ρ . ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ , ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ (ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅) ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π°ΠΉΡΠΎΠ² Π² ΡΠ»ΠΎΠ²Π΅, ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΡΠ°Π΄Π½ΡΠΌΠΈ ΠΏΠΌΠ΅Ρ Π°ΠΌΠΈ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½Π°Π΄ΠΎ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠ°Π»ΡΠ½ΡΡ ΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΌΠ΅Π»ΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ.
Π§ΠΈΡΠ»ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² ΡΠ΅Π³ΠΈΡΡΡΡ, ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΊ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΠΉΡΠ²ΡΡΡΠΈΡ ΡΠΈΠΏΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π½Π° Β«ΡΠ²ΠΎΠ΅ΠΉΒ» ΠΌΠ°ΡΠΈΠ½Π΅ Π²ΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ; ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ register ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.