Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ°ΠΌΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 33 β "ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌ".
32. Π―ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠΉΡΠ΅, ΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΠΊΠ»Π°ΡΡΠ° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΠΈΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»Π°ΡΡ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅Π΄ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ.
ΠΠ»Π°ΡΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, std::pair, std::vector) ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ. ΠΡΠΈ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
β’ ΠΠΌΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
β’ ΠΠ΅ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ (Π²ΠΊΠ»ΡΡΠ°Ρ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ).
β’ ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π½ΠΎ Π½Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΡΡ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 35).
β’ ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΡΠ΅ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΠ»Π΅Π½Π°ΠΌΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
β’ ΠΠΌΠ΅Π΅Ρ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ, Π»ΠΈΠ±ΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΠΈ Π½Π΅Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 50), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡΠΌΠΈ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 53).
β’ ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
β’ ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΊΡΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ (ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ) ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠΎΠ²ΠΎΡΡ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎ, ΠΊΠ»Π°ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ . ΠΠ»Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ.
β’ Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ typedef ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»Π°ΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
β’ ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ (ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ).
ΠΠ»Π°ΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ (ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ) ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠ»Π°ΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
β’ ΠΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΈΡ .
β’ ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ, ΠΈ ΠΎΠ½ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΡΠ»Π΅Π½Π° Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ»Π°ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΡ ΡΠΌΠ΅ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ. ΠΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 73). ΠΠ»Π°ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
β’ ΠΠΌΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡΠΉ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ).
β’ ΠΠΌΠ΅ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 54).
β’ ΠΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌΠΈ ΠΎΡ std::exception.
ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΈΠ΄ΠΈΠΎΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, RAII β ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 13). ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΎ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΡΡΡΠ΄Π½ΠΎΡΡΡΠΌΠΈ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ β ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 53).
Π‘ΡΡΠ»ΠΊΠΈ[Abrahams01b] β’ [Alexandrescu00a] β’ [Alexandrescu00b] β’ [Alexandrescu01] Β§3 β’ [Meyers96] Β§13 β’ [Stroustrup00] Β§8.3.2, Β§10.3, Β§14.4.6, Β§25.1 β’ [Vandevoorde03] Β§15
33. ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌ
Π Π°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Π²Π»Π°ΡΡΠ²ΡΠΉ: Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ Π»Π΅Π³ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΡΠΈΡΡΠ°ΡΠΈΠΉ. ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠΏΠ»ΠΎΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΊΠ»Π°ΡΡΠ°ΠΌ, ΠΏΡΡΠ°ΡΡΠΈΠΌΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, ΡΠ°ΠΊ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ 5 ΠΈ 6).
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΈΡΡΠ΄Π»ΠΈΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² β ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π½ΠΎΠ²ΠΈΡΠΊΠ° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π° ΠΈΠΌΠ΅ΡΡ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ "Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»Π°ΠΊΠΎΠ½Π΅", ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΠΎΡΡΠΎΡΡΠΈΠΉ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ , ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ, Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎ ΡΡΠ΄Ρ ΠΏΡΠΈΡΠΈΠ½ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΏΠ΅ΡΠ΅Π½ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
β’ ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π²ΠΎΠΏΠ»ΠΎΡΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π²Π»Π΅ΡΠ΅Ρ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ 5 ΠΈ 11).
β’ ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π»Π΅Π³ΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ).
β’ ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΡΠ΅ Π² ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠΈ. ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠ°ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π½Π΅Π΄Π΅Π»ΠΈΠΌΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Matrix ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ β ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΡΡ β Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΡΠ΅Π±ΡΡΡΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π°Π·Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ. ΠΡΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Matrix. Π’ΠΎΠ³Π΄Π° ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, ΠΊΡΠΎ Π² Π½ΠΈΡ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 44).
β’ ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΠ½ΠΈΠΆΠ°ΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ. ΠΡΠ»ΠΈ ΠΊΠ»Π°ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ Π±ΡΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ, Π½ΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠ²ΡΠΌΠΈ (ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΠΊΡΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ), ΡΠΎ Π·Π°ΠΊΡΡΡΡΠ΅ ΡΠ»Π΅Π½Ρ-Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ° ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΠΎΡΡΠΈ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΠΏΠ»ΠΎΡ ΠΈΠΌΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΊΠ°ΠΊ ΠΈ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
β’ ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ "ΠΏΠΎΠ»Π½ΠΎΠ΅" ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ; Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΆΠ΅ ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΡΡΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
β’ ΠΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°ΡΠ°ΡΡΡΡ Π½Π°ΡΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ "ΠΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ β ΠΎΠ΄Π½Π° Π·Π°Π΄Π°ΡΠ°" (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ 5 ΠΈ 44).
Π‘ΡΡΠ»ΠΊΠΈ[Cargill92] pp. 85-86, 152, 174-177 β’ [Lakos96] Β§0.2.1-2, Β§1.8, Β§8.1-2 β’ [Meyers97] Β§18 β’ [Stroustrup00] Β§16.2.2, Β§23.4.3.2, Β§24.4.3 β’ [Sutter04] Β§37-40
34. ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ "Π½Π°Π»ΠΎΠ³Π° Π½Π° Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ": Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ β Π²ΡΠΎΡΠ°Ρ ΠΏΠΎ ΡΠΈΠ»Π΅ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π΄ΡΡΠΆΠ±Ρ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ Π² Π‘++. Π‘ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½Ρ, ΠΈ ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π°Π΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΎ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ β ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π½ΠΎΡΡΠΈ. ΠΡΠ»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΌΡΡ ΡΠ»Π°Π±ΡΡ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π΅ΠΉ.
ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΠΌΠΎΠ΅ ΡΠΈΠ»ΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π‘++; ΡΠΈΠ»ΡΠ½Π΅Π΅ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠΆΠ±Ρ, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π°Π±ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ. ΠΡΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΠ°Π·ΠΈΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ "ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ" ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΠ»Π΅Π½Π° Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠΈΠΏΠ΅. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²Π°ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ.
ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π½Π°Π΄ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
β’ ΠΠΎΠ»ΡΡΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Π±Π΅Π· Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΊΠΎΠ΄: Π·Π°ΠΊΡΡΡΡΠ΅ ΡΠ»Π΅Π½Ρ-Π΄Π°Π½Π½ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΠ΄ ΠΏΠΎΠ»Π½ΡΠΌ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ (ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ) ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ΄ΠΈΠΎΠΌΡ Pimpl (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 43), ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΊΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ: Π²ΡΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, β ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ ΡΠ»Π΅Π½Ρ-Π΄Π°Π½Π½ΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΈΠ»ΠΈ ΡΠΏΠΎΡΠΎΠ± Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π½Π° ΠΏΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΎΡ ΡΠ°Π½Π½ΠΎΡΡΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ Ρ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²Π°Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ (ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 37).
β’ ΠΠΎΠ»ΡΡΠ°Ρ ΠΎΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΠΎΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ β ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ), Π° Π½Π΅ Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ½ΠΈΠ·ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΎΡΠΈΠ², Π²ΡΠ΅Π³Π΄Π° ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π·Π°ΠΊΡΡΡΡΠ΅ ΡΠ»Π΅Π½Ρ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (ΠΈΠ΄ΠΈΠΎΠΌΠ° Pimpl, ΡΠΌ. ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ 43).