Π§ΠΈΡΠ»ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² ΡΠ΅Π³ΠΈΡΡΡΡ, ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΊ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΠΉΡΠ²ΡΡΡΠΈΡ ΡΠΈΠΏΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π½Π° Β«ΡΠ²ΠΎΠ΅ΠΉΒ» ΠΌΠ°ΡΠΈΠ½Π΅ Π²ΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ; ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ register ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.
Π ΡΠ·ΡΠΊΠ΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΡΠΈΠΈ. ΠΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ ΠΎΠ½ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, Π° Π½Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΏΡΠ°Π²Π° Π½Π°Π»Π΅Π²ΠΎ. ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ Π½Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° int, ΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΡΠΈΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΡΠ»ΠΎΠ²Ρ, ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΊ ΠΌΠ°ΡΠΈΠ½Π΅.
14. ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
ΠΡΠ° ΠΊΡΠ°ΡΠΊΠ°Ρ ΡΠ²ΠΎΠ΄ΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π‘++ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ. ΠΠ½Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠΊΠΎΠΉ ΡΠ·ΡΠΊΠ°.
14.1 ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: ΡΠ΅ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ½Π°ΡΠ½Π°Ρ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ? Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ : Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΎΠΊ_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΡΠΏΠΈΡΠΎΠΊ_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΎΠΊ_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ , Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΡΠ΅ΡΠΌ: ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ½Π°ΡΠ½Π°Ρ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΅ΡΠΌ ΡΠ΅ΡΠΌ ++ ΡΠ΅ΡΠΌ β sizeof Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ sizeof ( ΠΈΠΌΡ_ΡΠΈΠΏΠ° ) ( ΠΈΠΌΡ_ΡΠΈΠΏΠ°) Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅_ΠΈΠΌΡ_ΡΠΈΠΏΠ° ( ΡΠΏΠΈΡΠΎΠΊ_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ) new ΠΈΠΌΡ_ΡΠΈΠΏΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ opt new ( ΠΈΠΌΡ_ΡΠΈΠΏΠ° ) delete Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ delete [ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ] Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: id :: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΡΡΠΎΠΊΠ° this ( Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅[ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ] ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ( ΡΠΏΠΈΡΠΎΠΊ_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ opt ) ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.id ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-Β»id
id: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ typedef-ΠΈΠΌΡ :: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ typedef-ΠΈΠΌΡ :: ΠΈΠΌΡ_ΡΡΠ½ΠΊΡΠΈΠΈ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ: ΡΠ½Π°ΡΠ½Π°Ρ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π±ΠΈΠ½Π°ΡΠ½Π°Ρ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ_ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ_ΠΏΠ°ΠΌΡΡΠΈ
ΠΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΡΠ±ΡΠ²Π°ΡΡΠΈΠΉ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
Π±ΠΈΠ½Π°ΡΠ½Π°Ρ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ: ΠΎΠ΄Π½Π° ΠΈΠ· * / % + β Β«β βΒ» Β« Β»
== != amp; ^ ! amp; amp; !! ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ_ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ_ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ: ΠΎΠ΄Π½Π° ΠΈΠ· = += -= *= /= %= ^= amp;= != »»= ««=
ΡΠ½Π°ΡΠ½Π°Ρ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ: ΠΎΠ΄Π½Π° ΠΈΠ· * amp; + β ~ ! ++ β
ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ: ΠΎΠ΄Π½Π° ΠΈΠ· () []
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ_ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ_ΠΏΠ°ΠΌΡΡΠΈ: ΠΎΠ΄Π½Π° ΠΈΠ· new delete
ΠΈΠΌΡ_ΡΠΈΠΏΠ°: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ
Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ: ΠΏΡΡΡΠΎΠΉ * Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ( ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ) Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ [ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ opt ]
ΠΏΡΠΎΡΡΠΎΠ΅_ΠΈΠΌΡ_ΡΠΈΠΏΠ°: typedef-ΠΈΠΌΡ char short int long unsigned float double void
typedef-ΠΈΠΌΡ: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
14.2 ΠΠΏΠΈΡΠ°Π½ΠΈΡ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ opt ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ opt ; ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅_ΠΈΠΌΠ΅Π½ΠΈ asm-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅_ΠΈΠΌΠ΅Π½ΠΈ: ΡΠΎΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ; enum ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ;
ΡΠΎΡΡ:
class struct union
asm-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅: asm ( ΡΡΡΠΎΠΊΠ° ) ;
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ opt
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΠΊΠ»Π°ΡΡΠ°_ΠΏΠ°ΠΌΡΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΡΠΈΠΏΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΡΡΠ½ΠΊΡΠΈΠΈ typedef friend
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΡΠΈΠΏΠ°: ΠΏΡΠΎΡΡΠΎΠ΅_ΠΈΠΌΡ_ΡΠΈΠΏΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΠΊΠ»Π°ΡΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_enum ΡΡΠ»ΠΎΠΆΠ½Π΅Π½Π½ΡΠΉ_ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΡΠΈΠΏΠ° const
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΠΊΠ»Π°ΡΡΠ°_ΠΏΠ°ΠΌΡΡΠΈ: auto extern register static
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΡΡΠ½ΠΊΡΠΈΠΈ: inline overload virtual
ΡΡΠ»ΠΎΠΆΠ½Π΅Π½Π½ΡΠΉ_ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΡΠΈΠΏΠ°: ΠΊΠ»ΡΡ typedef-ΠΈΠΌΡ ΠΊΠ»ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
ΠΊΠ»ΡΡ: class struct union enum
ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ: ΠΈΠ½ΠΈΡ-ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ΠΈΠ½ΠΈΡ-ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ , ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ
ΠΈΠ½ΠΈΡ-ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ: ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ opt
ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ: ΠΎΠΏ_ΠΈΠΌΡ ( ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ) * const opt ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ amp; const opt ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ
ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ( ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ) ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ [ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ opt ]
ΠΎΠΏ_ΠΈΠΌΡ: ΠΏΡΠΎΡΡΠΎΠ΅_ΠΎΠΏ_ΠΈΠΌΡ typedef-ΠΈΠΌΡ :: ΠΏΡΠΎΡΡΠΎΠ΅_ΠΎΠΏ_ΠΈΠΌΡ
ΠΏΡΠΎΡΡΠΎΠ΅_ΠΎΠΏ_ΠΈΠΌΡ: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ typedef-ΠΈΠΌΡ ~ typedef-ΠΈΠΌΡ ΠΈΠΌΡ_ΡΡΠ½ΠΊΡΠΈΠΈ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠΌΡ_ΡΡΠ½ΠΊΡΠΈΠΈ_ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
ΠΈΠΌΡ_ΡΡΠ½ΠΊΡΠΈΠΈ_ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: operator ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ
ΠΈΠΌΡ_ΡΡΠ½ΠΊΡΠΈΠΈ_ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ operator ΡΠΈΠΏ
ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²: ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ_ΠΏΡΠΌ opt ... opt
ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ_ΠΏΡΠΌ: ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ_ΠΏΡΠΌ , ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ = Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ = ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ = Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ = Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΠΊΠ»Π°ΡΡΠ°: Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ_ΠΊΠ»Π°ΡΡΠ° (* ΡΠΏΠΈΡΠΎΠΊ_ΡΠ»Π΅Π½ΠΎΠ² opt *) Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ_ΠΊΠ»Π°ΡΡΠ° (* ΡΠΏΠΈΡΠΎΠΊ_ΡΠ»Π΅Π½ΠΎΠ² opt public : ΡΠΏΠΈΡΠΎΠΊ_ΡΠ»Π΅Π½ΠΎΠ² opt *)
Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ_ΠΊΠ»Π°ΡΡΠ°: ΡΠΎΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ opt ΡΠΎΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ opt : public opt typedef-ΠΈΠΌΡ
ΡΠΏΠΈΡΠΎΠΊ_ΡΠ»Π΅Π½ΠΎΠ²: ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅_ΡΠ»Π΅Π½Π° ΡΠΏΠΈΡΠΎΠΊ_ΡΠ»Π΅Π½ΠΎΠ² opt
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅_ΡΠ»Π΅Π½Π°: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ opt ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ_ΡΠ»Π΅Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ opt ; ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_ΡΡΠ½ΠΊΡΠΈΠΈ opt
ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ_ΡΠ»Π΅Π½Π°: ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ opt : ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ: = Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ = (* ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² *) = (* ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² , *) ( ΡΠΏΠΈΡΠΎΠΊ_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ )
ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ²: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² , ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² (* ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² *)
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_enum: enum ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ opt (* enum-ΡΠΏΠΈΡΠΎΠΊ *)
enum-ΡΠΏΠΈΡΠΎΠΊ: ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ enum-ΡΠΏΠΈΡΠΎΠΊ , ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ
ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ = ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
14.3 ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ
ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ_ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ: (* ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² opt *)
ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²: ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ: ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ_ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ opt ; if ( Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if ( Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ else ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ while ( Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ do ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ while ( Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ) ; for ( ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ opt ; Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ opt ) ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ switch ( Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ case ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ : ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ default : ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ break ; continue ; return Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ opt ; goto ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ; ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ : ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
14.4 ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: Π²Π½Π΅ΡΠ½Π΅Π΅_ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π΅_ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
Π²Π½Π΅ΡΠ½Π΅Π΅_ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_ΡΡΠ½ΠΊΡΠΈΠΈ: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ opt ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ_ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ_Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ opt ΡΠ΅Π»ΠΎ_ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ_ΡΡΠ½ΠΊΡΠΈΠΈ: ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ( ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ_ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² )
ΡΠ΅Π»ΠΎ_ΡΡΠ½ΠΊΡΠΈΠΈ: ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ_ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ_Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ: : ( ΡΠΏΠΈΡΠΎΠΊ_ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ²_ΡΠ»Π΅Π½ΠΎΠ² opt )
14.5 ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ
#define ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠ°_Π»Π΅ΠΊΡΠ΅ΠΌ
#define ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ( ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ,...,ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ) ΡΡΡΠΎΠΊΠ° Π»Π΅ΠΊΡΠ΅ΠΌ #else #endif #if Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ #ifdef ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ #ifndef ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ #include Β«ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°Β» #include Β«ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°Β» #line ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Β«ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°Β» #undef ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
15. ΠΡΠ»ΠΈΡΠΈΡ ΠΎΡ C
15.1 Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ
Π’ΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π΄Π°Π½Ρ (#8.4) ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ (#7.1). ΠΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² (# 7.1).
ΠΠ»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ»Π°Π²Π°ΡΡΠ°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ° ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ; #6.2.
ΠΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Ρ; #8.9.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Ρ; 7.16, #8.5.11.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ inline-ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ; #8.1.
ΠΠ±ΡΠ΅ΠΊΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌΠΈ (const); #8.3.
ΠΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΡΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°; #8.4, #8.6.3
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ new ΠΈ delete ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ, #7.2.
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠΎΠΊΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΡ (#8.5.9), Π³ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (#8.6.2), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²ΡΠ΅Π»Π΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·Π²Π°Π½ΠΈΡ (#8.5.6), ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ (#8.5.4).
ΠΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΈΠΏΠ°; #8.5.
ΠΡΠ±ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ void* Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊ ΡΠΈΠΏΡ; #7.14.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ; #9.14.
ΠΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ; #8.5.13.
15.2 Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΠ΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ C Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ Π² Π‘++ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ ΡΠΌΡΡΠ»Π°. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΎΠ²ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ²
class const delete friend inline new operator overload public signed this virtual volatile
ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ f(); ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ f Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ°ΡΠΌΠ΅ΡΡΠΎΠ², Π² C ΠΆΠ΅ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ f ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
Π C Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π° Π² Π‘+ + ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΠΌΠ΅Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ² Π² Π‘++ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, ΡΡΠΎ ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΡΠΎΠ΄Π΅
int s; struct s (* /* ... */ *); f() (* s = 1; *)
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ class, struct, union, enum (#8.2) ΠΈΠ»ΠΈ :: (#7.1). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
int s; struct s (* /* ... */ *); void f() (*int s; struct s a; *) void g() (* ::s = 1; *)
15.3 ΠΠ½Π°Ρ ΡΠΎΠ½ΠΈΠ·ΠΌΡ
ΠΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΊΠ°ΠΊ Π‘++ ΠΏΡΠΎΡΠ°ΠΌΠΌ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΡΠ΅ΠΆΠ½Π΅Π΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π²ΡΠ·ΠΎΠ²Π΅. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ²Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΊΠ°ΠΊ
ΡΡΠ½ΠΊΡΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ int Ρ ΡΠΈΠΏΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° (...).
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ void ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ (void) ΡΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ().
ΠΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² C
ΡΡΠ°ΡΠΎΠ΅_ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_ΡΡΠ½ΠΊΡΠΈΠΈ: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ_ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ opt ΡΡΠ°ΡΡΠΉ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ_ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΠΈΡΠΎΠΊ_ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ ΡΠ΅Π»ΠΎ_ΡΡΠ½ΠΊΡΠΈΠΈ