Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² c
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
malloc
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΡΠΆΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΎΡΡ, ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°Π΄ΡΡΡΡ Π½Π° ΡΡΠ΅ΠΊ ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΌΡ Π½Π΅ Π²ΡΡΠ»ΠΈ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΈΡΠ°ΡΡ ΠΏΠ°ΠΌΡΡΡ, Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΠΊΡΡΠ΅. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π΄Π²Π°: Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΏΠ°ΠΌΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΡΠ½ΡΡ ΠΎΡΠΈΡΠ°ΡΡ, Π²ΠΎ-Π²ΡΠΎΡΡΡ , Π²ΡΠ΄Π΅Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
ΠΠ»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΠΊΡΡΠ΅ Π² ΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ malloc (memory allocation) ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ stdlib.h
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ size Π±Π°ΠΉΡΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½Π΅Ρ. ΠΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ NULL. Π’Π°ΠΊ ΠΊΠ°ΠΊ malloc Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° void, ΡΠΎ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ Π½Π°ΠΌ ΡΠΈΠΏΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΠΌ ΠΏΠ°ΠΌΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π² 100 Π±Π°ΠΉΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ free.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ ΠΊΠ°ΠΊ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ. ΠΡΠΈΠΌΠ΅Ρ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠΈΡΠ»ΠΎ β ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΌΠ°ΡΡΠΈΠ² ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°ΠΌΠΈ ΡΠΈΡΠ΅Π» ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ².
ΠΠ΄Π΅ΡΡ (int *) β ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ². ΠΠΈΡΠ΅ΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΈΠΏ, ΠΊΠ°ΠΊ ΠΈ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
size * sizeof(int) β ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°ΠΉΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ. sizeof(int) β ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ. Π ΠΊΠΎΠ½ΡΠ΅ Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΡΠ΄Π°Π»ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅, ΡΡΠΎ Ρ Π½Π°Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ. ΠΡΡΡΡ ΠΌΡ Π²Π²Π΅Π»ΠΈ ΡΠΈΡΠ»ΠΎ 5.
Π€ΡΠ½ΠΊΡΠΈΡ malloc Π²ΡΠ΄Π΅Π»ΠΈΠ»Π° ΠΏΠ°ΠΌΡΡΡ Π½Π° ΠΊΡΡΠ΅ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²Π΅ΡΠ½ΡΠ»Π° Π΅Π³ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ p Ρ
ΡΠ°Π½ΠΈΡ ΡΡΠΎΡ Π°Π΄ΡΠ΅Ρ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ.
ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ malloc «Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ», ΡΠΎ ΠΎΠ½Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠ΅Ρ ΠΌΠ΅ΡΡΠΎ Π½Π° ΠΊΡΡΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°Π΄ΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ°. Π£ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π½Π΅ ΠΎΡΠ΄Π°ΡΡ Π½Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠΌΡ-ΡΠΎ Π΅ΡΡ. ΠΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ free, ΡΠΎ ΠΌΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΠΌ ΠΏΠ°ΠΌΡΡΡ, ΡΠΎ Π΅ΡΡΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠ° ΠΏΠ°ΠΌΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ΅ΠΌ-ΡΠΎ Π΄ΡΡΠ³ΠΈΠΌ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅Ρ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π½Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ ΡΡΠ° ΠΏΠ°ΠΌΡΡΡ Π½Π°ΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ Π·Π°Π½ΡΠ»ΡΠ΅ΡΡΡ, ΠΎΠ½Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Ρ
ΡΠ°Π½ΠΈΡΡ Π°Π΄ΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ.
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΡΡΠΌ Π½ΠΎΠΌΠ΅ΡΠ° Π² ΠΎΡΠ΅Π»Π΅. ΠΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ ΠΊΠ»ΡΡΠ° ΠΎΡ Π½ΠΎΠΌΠ΅ΡΠ°, ΠΆΠΈΠ²ΡΠΌ Π² Π½ΡΠΌ, Π° ΠΏΠΎΡΠΎΠΌ ΡΠ΄Π°ΡΠΌ ΠΊΠΎΠΌΠ½Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. ΠΠΎ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ ΠΊΠ»ΡΡΠ° Ρ Π½Π°Ρ ΠΎΡΡΠ°ΡΡΡΡ. ΠΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² ΡΡΠΎΡ Π½ΠΎΠΌΠ΅Ρ, Π½ΠΎ Π² Π½ΡΠΌ ΡΠΆΠ΅ ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΆΠΈΡΡ. Π’Π°ΠΊ ΡΡΠΎ Π½Π°ΡΠ° ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΡ β ΡΠ΄Π°Π»ΠΈΡΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ.
ΠΠ½ΠΎΠ³Π΄Π° Π΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ «ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅» ΠΈΠ»ΠΈ «ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅» ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ free
Π’ Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Ρ ΡΠ°Π½ΠΈΡ Π°Π΄ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ½Π° Π½Π΅ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΡΠΊΡΠ΄Π° ΡΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ free Π·Π½Π°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ?
Π Π°Π±ΠΎΡΠ° Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ «ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ» ΠΌΠ°ΡΡΠΈΠ² ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ Ρ.Π΄.
calloc
Π€ ΡΠ½ΠΊΡΠΈΡ calloc Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ n ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ m ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡ Π½ΡΠ»ΡΠΌΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
realloc
Π ΡΡ ΠΎΠ΄Π½Π° Π²Π°ΠΆΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ β realloc (re-allocation). ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π½Π΅Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ°ΡΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π² Π±Π°ΠΉΡΠ°Ρ :
Π€ΡΠ½ΠΊΡΠΈΡ realloc ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π½Π΅Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΠΊ ΠΈ Π½ΠΎΠ²ΡΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ β ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΌ ΡΠ΅ΡΠ°Π΅Ρ, Π³Π΄Π΅ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΏΠ°ΠΌΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ β ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ»ΠΎΠ²Π°. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΠ΄ ΡΠ»ΠΎΠ²Π° ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 10. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΡΠ» Π±ΠΎΠ»ΡΡΠ΅ ΡΠ»ΠΎΠ², ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Ρ
Π²Π°ΡΠΈΠ»ΠΎ ΠΌΠ΅ΡΡΠ°. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ»ΠΎΠ²ΠΎ end, ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΠΌ Π²Π²ΠΎΠ΄ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°.
Π₯ΠΎΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΠΏΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΈΡΠ΅ΠΌ sizeof(char*), ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° char Π½Π΅ ΡΠ°Π²Π΅Π½ ΠΎΠ΄Π½ΠΎΠΌΡ Π±Π°ΠΉΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° char.
ΠΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ
1. ΠΡΠ²Π°Π΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ malloc (ΠΈ calloc) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ NULL. ΠΠΎΡΡΠΎΠΌΡ, ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΡΠ»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π΅ ΡΠ°Π²Π΅Π½ Π»ΠΈ ΠΎΠ½ NULL. Π’Π°ΠΊ ΠΆΠ΅ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΈ realloc. ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ free ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π° NULL Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ free(NULL) Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ:
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΡΠΈΡΡΡΡ, ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΊΠΈΠ΄ΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠ»ΠΎΡ ΠΎ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΡΡ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ» ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠ΄Π° ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠΈΡΡΠΊΡ, ΡΠΎΠΊΡΠ°ΡΠΈΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΡΠ΄Π°Π»ΠΈΠ² Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Ρ ΡΠ°Π½ΠΈΡ Π°Π΄ΡΠ΅Ρ, ΡΠΎ Π΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π»ΡΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π°Π»ΡΡΠ΅.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠΈ, ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅. ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π΄ΡΡΠ³ΡΡ β ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π²ΠΈΡΡΡΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (dangling pointers ΠΈΠ»ΠΈ wild pointers). ΠΡ ΡΠ΄Π°Π»ΡΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π°Π±ΡΠ²Π°Π΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° NULL. Π ΠΈΡΠΎΠ³Π΅, ΠΎΠ½ Ρ ΡΠ°Π½ΠΈΡ Π°Π΄ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²Π°Π»ΠΈΠ΄Π½Π°Ρ ΡΡΠ° ΠΎΠ±Π»Π°ΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ, Ρ Π½Π°Ρ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΌΡΡΠΎΡ, ΠΈΠ»ΠΈ Π½Π΅ ΠΌΡΡΠΎΡ, ΠΈΠ»ΠΈ Π½Π΅ Π²ΡΠ²Π΅Π΄Π΅Ρ. ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ.
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ
ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΊΠΈΠ½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΠ΅ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, ΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π½ΡΠ»ΠΈΡΠ΅ Π΅Π³ΠΎ.
4. ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΈΠΌΠ΅Ρ
5. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π²ΡΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π½Π° ΠΎΠ΄Π½Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π΄Π²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ p1 ΠΈ p2. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±ΡΠ»Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΡΡΡ, ΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ΄ Π΅ΡΡ ΡΠ°Π·.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Ρ ΡΠ°Π½ΡΡ ΠΎΠ΄ΠΈΠ½ Π°Π΄ΡΠ΅Ρ.
Π Π²ΠΎΡ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠ΅. ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄ p2 Π½ΠΎΠ²ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ. realloc Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π½ΠΎ Π²ΠΎΡ ΡΠ°ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ p1 ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ Π±ΡΡΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΌ. ΠΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π²ΡΠ·ΠΎΠ² malloc ΠΌΠΎΠ³ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. ΠΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ p1 ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΌ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎ p1 ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ (ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅). Π’ΠΎΠ³Π΄Π° p1 Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΌΡΡΠΎΡ (ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, Π΅ΡΠ»ΠΈ p1 ΠΏΠΎΠ»Π΅Π·Π΅Ρ Π² Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ), Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ p2 Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΡΠ°ΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ p1. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ.
ΠΠ²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ΄Π½Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅-ΡΠΎ Π½Π΅ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΡΠ²Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π±Π΅Π· Π½ΠΈΡ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ. ΠΠΎ ΡΡΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ ΠΌΠΈΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ realloc ΠΈ malloc.
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ malloc, realloc ΠΈ calloc Ρ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½ ΠΊΠ°ΠΊ NULL, ΡΠ°ΠΊ ΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ. ΠΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½ΠΎ ΠΊ Π½Π΅ΠΌΡ Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ°Π·Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠ·ΠΎΠ² realloc(NULL, size_t) ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ malloc(size_t).
ΠΠ΄Π½Π°ΠΊΠΎ, Π²ΡΠ·ΠΎΠ² realloc(NULL, 0) Π½Π΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π²ΡΠ·ΠΎΠ²Ρ malloc(0) π ΠΠΎΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΡΠΎ, ΠΊΠ°ΠΊ Ρ
ΠΎΡΠΈΡΠ΅.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΡΡΡ Π΅ΡΡΡ ΡΡΠ΄
1, 4, 4, 6, 7, 8, 9, 11, 12, 11, 15
Π’ΠΎΠ³Π΄Π° Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ 3, ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ΄
(1+4+4)/3, (4+4+6)/3, (4+6+7)/3, (6+7+8)/3, (7+8+9)/3, (8+9+11)/3, (9+11+12)/3, (11+12+11)/3, (12+11+15)/3
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΌΠΌΠ° Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² «ΠΎΠΊΠ½Π΅», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠΎΠ»ΡΠ·ΠΈΡ ΠΏΠΎ ΡΡΠ΄Ρ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π² ΡΠΈΠΊΠ»Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡ ΡΡΠΌΠΌΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π΅Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ°ΡΡ ΠΈΠ· ΡΡΠΌΠΌΡ ΠΊΡΠ°ΠΉΠ½Π΅Π΅ Π»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΠΈ ΠΏΡΠΈΠ±Π°Π²Π»ΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ.
ΠΡΠ΄Π΅ΠΌ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΈΡΠ»Π° ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π³ΠΎ ΡΡΠ΅Π΄Π½ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠΎΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ ΡΠ°ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π° ΡΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ , Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠ΅Π³ΠΎ Π² Π΄Π΅Π²ΡΡΠΈ ΡΡΡΠΎΡΠΊΠ°Ρ .
3. ΠΠΈΠ½ΠΎΠΌ ΠΡΡΡΠΎΠ½Π°. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π±ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΡΠ»ΠΈ ΠΡ ΠΆΠ΅Π»Π°Π΅ΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ, ΡΠΎΠ²Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ΅ΠΏΠ΅ΡΠΈΡΠΎΡΡ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² Π‘ΠΈ
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π·Π°Π΄Π°ΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΄Π²ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ²:
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ°ΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½.
ΠΠ»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ°.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ:
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ :
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π±Π°ΠΉΡΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ malloc() ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΡΡΡ ΡΠΈΠΏΠΎΠ², ΡΠ°ΠΊ ΠΈ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΡΠΊΡΡΡΡ), Π΄Π»Ρ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Β«ΠΡΠ°Π²ΠΈΠ»ΠΎΠΌ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΠΎΠ½Π°Β» Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π΅Π΅ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π° ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
Π€ΠΎΡΠΌΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
ΠΡΠΈΠΌΠ΅Ρ Π½Π° Π‘ΠΈ : ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²Π²ΠΎΠ΄ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
ΠΡΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ n ΡΡΡΠΎΠΊ ΠΈ m ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠ²ΡΠΌΠ΅ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΎΡΠΌΠ΅ Π»Π΅Π½ΡΡ, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΡΠΎΠΊ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅
index = i*m+j;
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΡ 3×4 (ΡΠΌ. ΡΠΈΡ.)
ΠΠ½Π΄Π΅ΠΊΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡ ΠΊΠ°ΠΊ
index = 1*4+2=6
ΠΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡ ΠΊΠ°ΠΊ
nΒ·mΒ·(ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°)
ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠ²Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΡΡΠΎΠΊΠ΅ ΠΈ ΡΡΠΎΠ»Π±ΡΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΡΠΎΠ»Π±ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ:
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ
ΠΡΠΈΠΌΠ΅Ρ Π½Π° Π‘ΠΈ ΠΠ²ΠΎΠ΄ ΠΈ Π²ΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΡΠΈΠΌΠ΅Ρ Π½Π° Π‘ΠΈ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠ»ΡΡΠ°Ρ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΡΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² (ΠΌΠ°ΡΡΠΈΡΠ°), ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠΎΠΊ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Ρ Π·Π°ΠΏΠ°ΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠΌΠ΅Ρ Π½Π° Π‘ΠΈ : Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
ΠΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅Π»ΡΠ·Ρ Π·Π°Π΄Π°ΡΡ Π·Π°ΡΠ°Π½Π΅Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΠΊΡΠΎΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ
Π Π°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ptr ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° size Π±Π°ΠΉΡΠΎΠ². ΠΠ»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ΅ΠΌ ΡΡΠ°ΡΡΠΉ. ΠΠΎ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ ΠΎΠ΄ΡΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΡΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ°ΡΠΎΠ³ΠΎ, ΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π½ΠΎΠ²Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ.
ΠΡΠΈΠΌΠ΅Ρ Π½Π° Π‘ΠΈ ΠΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π²Π°ΡΡ Π²ΠΎΠΏΡΠΎΡ ΠΎ Π²Π²ΠΎΠ΄Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ Π·Π°ΠΏΠΈΡΠΈ: 84
cout «_asm code started working» endl;
_asm <
pushf // ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ ΡΠ»Π°Π³ΠΎΠ² Π² ΡΡΠ΅ΠΊ
pop var // ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ ΠΈΠ· ΡΡΠ΅ΠΊΠ° (ΡΡΠ°?)
>
cout «_asm code finished working» endl;
// ΠΡΠ²ΠΎΠ΄ var
cout var endl;
short *var;
var = new short[1];
cout «_asm code started working» endl;
_asm <
pushf // ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ ΡΠ»Π°Π³ΠΎΠ² Π² ΡΡΠ΅ΠΊ
pop *var[0] // ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ ΠΈΠ· ΡΡΠ΅ΠΊΠ° (ΡΡΠ°?)
>
cout «_asm code finished working» endl;
// ΠΡΠ²ΠΎΠ΄ var
cout *var[0] endl;
#include
#include
#include
#include
#include
#include
#include
#include
#define _CRT_SECURE_NO_WARNINGS
#include «stdlib.h»
#include «stdio.h»
#include «conio.h»
#include «math.h»
#include
#include «locale.h»
#include «string.h»
#include «windows.h»
#include «time.h»
a = ( int **)realloc(a, (2*n*m) * sizeof ( int ));
for (i = n; i // ΡΠΈΠΊΠ» ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
<
for (j = 0; j // ΡΠΈΠΊΠ» ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ
<
a[i][j] = b[counter][j];
counter++;
>
printf( «\n» );
>
// ΠΡΠΈΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ
for (i = 0; i // ΡΠΈΠΊΠ» ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
free(a[i]); // ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΡ
free(a);
for (i = 0; i // ΡΠΈΠΊΠ» ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
free(b[i]); // ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΡ
free(b);
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² C++
Π‘++ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² new ΠΈ delete :
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ new ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΡΠΌΠ°Ρ :
ΠΠ°ΠΌΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΈΠΏΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ new Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΡΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ std::bad_alloc Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ΄Π΅Π»ΡΠ»Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ β Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ . Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠΈΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π΄Π²Π΅ ΡΠΎΡΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ delete :
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΡΠ»ΡΡΠ°Ρ, ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ°):
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ Π·Π°ΠΏΠΈΡΠΈ: 30
ΠΠΎΠ·Π²ΠΎΠ΄ΠΈΡΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π·Π° n ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ! ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ΅ΠΊΡΡΡΠ΅Π½ΡΠ½ΡΠΌΠΈ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ: an = (a2)n/2 ΠΏΡΠΈ ΡΠ΅ΡΠ½ΠΎΠΌ n, an = a Γ anβ1 ΠΏΡΠΈ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠΌ n. Π Π΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π±ΡΡΡΡΠΎΠ³ΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΠΎΡΠΌΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΠ²ΠΎΠ΄ΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ a ΠΈ ΡΠ΅Π»ΠΎΠ΅ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ n. Π€ΠΎΡΠΌΠ°Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ°Π½ΠΎ ΡΠΈΡΠ»ΠΎ N. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠ°Π²ΠΈΡΡ Π½Π° Π΄ΠΎΡΠΊΠ΅ NΓN N ΡΠ΅ΡΠ·Π΅ΠΉ, Π½Π΅ Π±ΡΡΡΠΈΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
#include
#include
char *resize( const char *str, unsigned size, unsigned new_size);
char *getline();
using namespace std;
#include
#include
#define ESC 27
#define EOS ‘\n’
using namespace std;
typedef struct <
float **matrix;
unsigned int volume;
char name;
>matrix;
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ·ΡΠΊΠ΅ C++
ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , Π° Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ°ΠΌΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅Π»ΡΠ·Ρ.
ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ
ΠΠ»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ new Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π·Π°Π΄Π°Π½ΠΎ) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°Π΄ΡΠ΅Ρ. Π Π°Π±ΠΎΡΠ°ΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Ρ ΡΡΠΈΠΌ ΡΡΠ°ΡΡΠΊΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ:
ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° delete ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΉ Π°Π΄ΡΠ΅Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° delete ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΎΠ±Π½ΡΠ»ΡΡΡ. ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.14.
ΠΠΈΡΡΠΈΠ½Π³ 3.14. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ
ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²
ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ. ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.15.
ΠΠΈΡΡΠΈΠ½Π³ 3.15. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²
ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π±Π΅Π· Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠΈΡΡΠΈΠ½Π³ 3.16. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π±Π΅Π· Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ·ΡΠΊΠ΅ C
Π€ΡΠ½ΠΊΡΠΈΠΈ malloc() ΠΈ free()
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.17.
ΠΠΈΡΡΠΈΠ½Π³ 3.17. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.18.
ΠΠΈΡΡΠΈΠ½Π³ 3.18. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²
Π€ΡΠ½ΠΊΡΠΈΡ calloc()
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ calloc() ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² (Π»ΠΈΡΡΠΈΠ½Π³ 3.19). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π°Π΄ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠΈΡΡΠΈΠ½Π³ 3.19. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π²Π½Π°ΡΠ°Π»Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ, Π° Π»ΠΈΡΡ Π·Π°ΡΠ΅ΠΌ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π»ΠΈΡΡ Π°Π΄ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ, Π° Π½Π΅ ΡΠ°ΠΌΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΡΡΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ. ΠΡΠΎ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Β«Π·ΡΠ±ΡΠ°ΡΡΠ΅Β» Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ.
Π‘ΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ , ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. Π§ΡΠΎΠ±Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π±ΡΡΡΡΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (Π»ΠΈΡΡΠΈΠ½Π³ 3.20).
ΠΠΈΡΡΠΈΠ½Π³ 3.20. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΡΠΌΠ΅ΠΆΠ½ΡΡ ΡΡΠ΅ΠΉΠΊΠ°Ρ , ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ½ΡΠΌΠ΅ΡΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:
Π€ΡΠ½ΠΊΡΠΈΡ realloc()
Π€ΡΠ½ΠΊΡΠΈΡ realloc() Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎΡΠΎΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ realloc() ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.21.
ΠΠΈΡΡΠΈΠ½Π³ 3.21. Π€ΡΠ½ΠΊΡΠΈΡ realloc()
Π£ΡΠ΅Π±Π½ΠΈΠΊ C++ (Qt Creator ΠΈ MinGW) Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PDF
ΠΠΎΠΌΠΎΡΡ ΡΠ°ΠΉΡΡ
ΠΠΠ Π‘Π±Π΅ΡΠ±Π°Π½ΠΊ:
Π‘ΡΠ΅Ρ: 40817810855006152256
Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ Π±Π°Π½ΠΊΠ°:
ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅: Π‘ΠΠΠΠ Π-ΠΠΠΠΠΠΠ«Π ΠΠΠΠ ΠΠΠ Π‘ΠΠΠ ΠΠΠΠ
ΠΠΎΡΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΡΠΊΠΈΠΉ ΡΡΠ΅Ρ: 30101810500000000653
ΠΠΠ: 044030653
ΠΠΠ: 784243001
ΠΠΠΠ: 09171401
ΠΠΠΠΠ₯: 96130
Π‘ΠΊΡΠΈΠ½ΡΠΎΡ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠΎΠ²
Π£ΡΠΎΠΊ β85. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
ΠΠ±Π½ΠΎΠ²Π». 13 Π‘Π΅Π½ 2021 |
Π―Π·ΡΠΊ Π‘++ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ (ΠΈΠ»ΠΈ Β«ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΒ») ΠΏΠ°ΠΌΡΡΠΈ, Ρ Π΄Π²ΡΠΌΡ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ , ΠΌΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ:
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² Π±Π»ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠΎΠΉ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠ°ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅, ΡΠ°ΠΊ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠΌΠ΅ΡΡ Π΄Π²Π° ΠΎΠ±ΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
Π Π°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ/ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ (ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ/ΡΠ½ΠΈΡΡΠΎΠΆΠ°Π΅ΡΡΡ).
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Ρ ΡΡΠΈΠΌ Π²ΡΡ ΠΠ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ, ΡΠΎ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ.
ΠΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π»ΡΡΡΠ΅Π΅, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ β ΡΡΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠ³Π°Π΄Π°ΡΡ ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ:
ΠΡΠΎ ΠΏΠ»ΠΎΡ ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΏΠΎ ΡΡΠ΅ΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΠ΅ΡΡΠ΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, Π½ΠΎ Π½Π΅ Π²ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠ΄Π΅Π»ΠΈΠΌ 30 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π½ΠΎ ΠΈΠΌΠ΅Π½Π° Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΏΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π² Π΄Π²Π° ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅. ΠΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² rendering : Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 20 000 ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ², ΡΠΎ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ 20 000 ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°ΡΠΈΡΡΡ Π²ΠΏΡΡΡΡΡ (Ρ.Π΅. Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ)!
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ) Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·Π΅ΡΠ²ΡΠ°ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ β ΡΡΠ΅ΠΊΠ°. ΠΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠ΅ΠΊΠ° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅Π²Π΅Π»ΠΈΠΊ: Π² Visual Studio ΠΎΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π΅Π½ 1ΠΠ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π²ΡΡΠΈΡΠ΅ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°, ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π²Π΅ΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Visual Studio ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°:
ΠΠΈΠΌΠΈΡ Π² 1ΠΠ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΡΠΌ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π³ΡΠ°ΡΠΈΠΊΠ°.
Π-ΡΡΠ΅ΡΡΠΈΡ , ΠΈ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌ ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°. Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ 500 Π·Π°ΠΏΠΈΡΠ΅ΠΉ Ρ Π΄ΠΈΡΠΊΠ°, Π½ΠΎ ΠΌΡ Π²ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π΄Π»Ρ 400? ΠΠΈΠ±ΠΎ ΠΌΡ Π²ΡΠ²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΈΠ±ΠΊΡ, ΡΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ β 400, Π»ΠΈΠ±ΠΎ (Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅) Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ-ΡΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅Ρ ΠΎΡΠΎΡΠ΅Π΅.
Π ΡΡΠ°ΡΡΡΡ, ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π»Π΅Π³ΠΊΠΎ ΡΡΡΡΠ°Π½ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ° ΠΏΠ°ΠΌΡΡΡ Π½Π΅ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠ· Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ β ΠΊΡΡΠΈ. ΠΠ° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΡ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ new:
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅, ΠΌΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ new Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π°Π΄ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ:
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠΎΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ. ΠΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Ρ Π°Π΄ΡΠ΅ΡΠΎΠΌ Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ Ρ Π½Π°Ρ Π½Π΅ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΉ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ?
ΠΠ° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»ΡΡΠ°Ρ Π΅Ρ ΡΠ°ΡΡΡ), ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΡΡ ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΡΠ° ΠΏΠ°ΠΌΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠ΅ΠΉ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ. ΠΠ΄Π½Π° ΡΠ°ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π°Ρ ΠΊΠΎΠ΄, Π΄ΡΡΠ³Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Ρ.Π΄.). ΠΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΏΡΠΎΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΏΠ°ΠΌΡΡΡ, ΡΠΎ Π²Ρ ΠΏΡΠΎΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΡ ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΡΠ»ΠΈ ΠΠ‘ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π°Π΄ΡΠ΅Ρ ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ. ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Ρ ΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ Π²ΡΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠΎ Π΅Ρ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΠΎΠ·Π²ΡΠ°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
ΠΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΡΡΠΌΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ uniform-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Π² Π‘++11):
ΠΠΎΠ³Π΄Π° ΡΠΆΠ΅ Π²ΡΡ, ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ β Π½ΡΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π»Ρ Π‘++ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° delete:
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ delete Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ. ΠΠ½ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΡΠ°Π½Π΅Π΅, ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠΈΡΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΡΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ½ΠΎΠ²Π°).
Π₯ΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ! ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎ ΠΈ ΡΠ°Π½ΡΡΠ΅, ΠΈ Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ.
ΠΠΈΡΡΡΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
Π―Π·ΡΠΊ C++ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π³Π°ΡΠ°Π½ΡΠΈΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΄Π°Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΏΠ°ΠΌΡΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ΅ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Ρ Π½Π΅Π΅ Π΄ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π½ΡΡ (ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ) ΠΏΠ°ΠΌΡΡΡ.
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΈΡΡΡΠΈΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ. Π Π°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ΅Π³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΡΠΎΡΠ΅ΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΈ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΠΈΡΡΡΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π΄Π΅ΡΡ ΠΏΠΎΠΌΠΎΡΡ:
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ°ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎ Π²ΡΡΡΠ½ΠΈΡΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ· Π²ΡΠ΅Ρ Β«Π²Π»Π°Π΄Π΅Π΅ΡΒ» ΠΏΠ°ΠΌΡΡΡΡ (ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅), Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΉ.
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, ΡΠΎ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ, Ρ.Π΅. ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 (ΠΈΠ»ΠΈ nullptr Π² Π‘++11). ΠΠΎΠ΄ Β«Π²ΡΡ ΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡΒ» ΠΈΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π²Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΠΎΠ±ΡΡΠ²Π»Π΅Π½.
ΠΡΠ°Π²ΠΈΠ»ΠΎ: ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°ΠΉΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 (ΠΈΠ»ΠΈ nullptr Π² C++11), Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π²ΡΡ ΠΎΠ΄ΡΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ new
ΠΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π΄ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π° (Ρ.Π΅. Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ Π±ΡΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ).
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new (ΠΊΠ°ΠΊ ΠΈ ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»Π΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° new, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π°. ΠΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ std::nothrow ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ new ΠΈ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ :
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ new Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
Π Π°Π·ΡΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ (ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΊ ΡΠ±ΠΎΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅). ΠΠΎΡΡΠΎΠΌΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡΡ:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ, ΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π·Π°Π±ΡΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ!
ΠΡΠ»Π΅Π²ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
ΠΡΠ»Π΅Π²ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 0 ΠΈΠ»ΠΈ nullptr ) ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠ°ΠΊ Π±Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ Π½Π°ΠΌ: Β«ΠΡΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈΒ». Π ΡΡΠΎ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ:
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½ΠΈ Π½Π° ΡΡΠΎ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ:
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
ΠΡΠ»ΠΈ ptr Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ, ΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π°. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΡΠ»Ρ, ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ.
Π£ΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Ρ.Π΅. ΠΎΠ½Π° ΠΎΡΡΠ°Π΅ΡΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ²Π½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΠΈΡΡΠΈΡ Π²ΡΠ΅ Π±ΡΡΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ). ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ»Π΅Π΄ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡΠΎ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ΄Π΅ΡΡ ΠΌΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΠΌ ΠΏΠ°ΠΌΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° delete. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠ»Π΅Π΄ΡΡΡ Π²ΡΠ΅ΠΌ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΡΡΠΎ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ptr Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ptr β ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, Ρ ΡΠ°Π½ΡΡΠ°Ρ Π°Π΄ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎ, ΠΊΠΎΠ³Π΄Π° ptr ΡΠ½ΠΈΡΡΠΎΠΆΠΈΡΡΡ, Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΒ» Π°Π΄ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ.
ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π£ΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅ΡΡΠ΅Ρ Π°Π΄ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°), ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Π΅ΡΠ½ΡΡΡ Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π·Π½Π°Π΅Ρ, Π³Π΄Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Β«ΡΡΠ΅Π΄Π°ΡΡΒ» ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΌΠ΅Π½ΡΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ°ΠΊΠΆΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Ρ ΡΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ Β«ΡΡΠ΅ΡΡΡΒ» Π²ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ±ΠΎΠΉ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΈΡΡΠΈΡΡ ΠΈ Π²Π΅ΡΠ½ΡΡΡ Π²ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Β«ΡΡΠ΅ΠΊΠ»Π°Β».
Π₯ΠΎΡΡ ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΠ΅ΡΠΊΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Ρ ΡΠ°Π½ΡΡΠ΅ΠΌΡ Π°Π΄ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΄ΡΡΠ³ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: