Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ понимания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ систСма управляСт ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ элСмСнтом любого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° являСтся пСрСмСнная β€” имСнованная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, прСдназначСнная для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² процСссС выполнСния ΠΊΠΎΠ΄Π°. Новички часто ΠΏΡƒΡ‚Π°ΡŽΡ‚ понятия объявлСния ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡƒΠ»ΠΎΠ²ΠΈΠΌΡ‹ΠΌ ошибкам Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C++ ΠΈΠ»ΠΈ Java, 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²: сначала число, ΠΏΠΎΡ‚ΠΎΠΌ строку, Π° Π·Π°Ρ‚Π΅ΠΌ ссылку Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Однако Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π½Π΅ отмСняСт нСобходимости ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ строгиС ΠΏΡ€Π°Π²ΠΈΠ»Π° синтаксиса ΠΏΡ€ΠΈ создании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ΄ оставался Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ создания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… контСкстах: ΠΎΡ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π΄ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΏΠΎΠ² становится критичСски Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со слоТными ΠΎΡ‚Ρ‡Π΅Ρ‚Π°ΠΌΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ.

Бинтаксис объявлСния ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ начинаСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ΠŸΠ΅Ρ€Π΅ΠΌ (ΠΈΠ»ΠΈ Var Π² англоязычном синтаксисС). Π­Ρ‚ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ слово сообщаСт компилятору ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ Π΄Π°Π»Π΅Π΅ слСдуСт список ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅. ОбъявлСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² самом Π½Π°Ρ‡Π°Π»Π΅ модуля, ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌ исполняСмым ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ опрСдСлСниями ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости опрСдСляСт, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована созданная ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ. Если Π²Ρ‹ объявили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² сСкции ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… модуля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ доступна Π²ΠΎ всСх ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… ΠΈ функциях этого модуля. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для хранСния состояния интСрфСйса ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² вычислСний.

Однако сущСствуСт понятиС локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая создаСтся нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π΅Π· использования ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ΠŸΠ΅Ρ€Π΅ΠΌ. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная ΠΆΠΈΠ²Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ уничтоТаСтся сразу послС Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для экономии ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ прСдотвращСния случайного измСнСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС создавайтС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях с ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ Β«Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉΒ» Π±Π΅Π· ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ нСобходимости. Π˜Π·Π±Ρ‹Ρ‚ΠΎΠΊ Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… услоТняСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксы Π² ΠΈΠΌΠ΅Π½Π°Ρ… Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π»_ ΠΈΠ»ΠΈ gl_), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с явным ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ°. Π₯отя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° позволяСт Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° явного описания Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π’ΠΈΠΏ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΈ понятным для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π’ΠΈΠΏ Число;

ΠŸΠ΅Ρ€Π΅ΠΌ БписокДокумСнтов Π’ΠΈΠΏ Массив;

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт систСмС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ присваиваСмыС значСния ΠΈ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ прСдупрСТдСния Π΅Ρ‰Π΅ Π½Π° этапС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ синтаксиса, Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ число.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ динамичСская типизация

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ³Π°Ρ‚ΡƒΡŽ систСму Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π”Π°Ρ‚Π°, Π‘ΡƒΠ»Π΅Π²ΠΎ) ΠΈ слоТныС составныС Ρ‚ΠΈΠΏΡ‹ (Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, БоотвСтствиС). ΠŸΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ, Π»ΠΈΠ±ΠΎ ТСстко Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ.

ДинамичСская типизация ΡƒΠ΄ΠΎΠ±Π½Π° ΠΏΡ€ΠΈ написании быстрых скриптов ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ использования. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ А = 10, Π° Ρ‡Π΅Ρ€Π΅Π· строку А = "ВСкст", ΠΈ систСма Π½Π΅ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ. Однако Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… конфигурациях Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ считаСтся Π΄ΡƒΡ€Π½Ρ‹ΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ затрудняСт Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

  • πŸ”’ Число β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния количСствСнных ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, сумм ΠΈ матСматичСских расчСтов с высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.
  • πŸ“… Π”Π°Ρ‚Π° β€” спСциализированный Ρ‚ΠΈΠΏ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ ΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°ΠΌΠΈ.
  • πŸ“„ Π‘Ρ‚Ρ€ΠΎΠΊΠ° β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².
  • πŸ”— Бсылка β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ 1Π‘, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (справочник, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, рСгистр).

ИспользованиС составных Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особого внимания. НапримСр, пСрСмСнная Ρ‚ΠΈΠΏΠ° Массив ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² сСбС Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство элСмСнтов любого Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ массивы ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ строгого контроля Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ Π² Π½ΠΈΡ… ΠΊΠ»Π°Π΄Π΅Ρ‚Π΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ‚ΠΈΠΏΠ° "НСопрСдСлСно"

Если ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ "НСопрСдСлСно". ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ с Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния. ВсСгда ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏ ЀиксированнаяБтруктура ΠΈΠ»ΠΈ БоотвСтствиС. Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ассоциативныС массивы, Π³Π΄Π΅ доступ ΠΊ элСмСнту осущСствляСтся ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ, Π° Π½Π΅ ΠΏΠΎ индСксу. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт поиск Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… ΠΈ функциях

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π²Π°ΠΆΠ½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² скобках ΠΏΡ€ΠΈ объявлСнии ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

БущСствуСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ ссылкС, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΡ‹ΠΉ символом ~ (волнистая Ρ‚ΠΈΠ»ΡŒΠ΄Π°) ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Π­Ρ‚ΠΎ позволяСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ·Π²Π½Π΅. Вакая Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Бпособ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Бинтаксис ВлияниС Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» РСкомСндация
По Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°(Π—Π½Π°Ρ‡ ΠŸΠ°Ρ€Π°ΠΌ) НС измСняСт Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²
По ссылкС ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°(~ΠŸΠ°Ρ€Π°ΠΌ) Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…
НСявная ссылка ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°(ΠŸΠ°Ρ€Π°ΠΌ) Зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π˜Π·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° нСпрСдсказуСмости

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ‚Π΅Π»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π₯отя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° позволяСт ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² любом мСстС, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° объявлСний ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ восприятиС структуры Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ значСниями ΠΈΠ»ΠΈ пустыми строками ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ накоплСния мусора ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ΠŸΡ€ΠΈ рСкурсивных Π²Ρ‹Π·ΠΎΠ²Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ каТдая копия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ создаСт свой собствСнный Π½Π°Π±ΠΎΡ€ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Глубокая рСкурсия с большим количСством Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ быстро ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Ρ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ процСсса rphost.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” это инструмСнт, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ слСдуСт ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’ контСкстС 1Π‘ ΠΏΠΎΠ΄ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ часто ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² модулях с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ„Π»Π°Π³ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, экспортируСмыС ΠΈΠ· ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Они доступны ΠΈΠ· любого мСста ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ инкапсуляции.

ИспользованиС Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для хранСния настроСк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΌΠΈ для всСй систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сСанса ΠΈΠ»ΠΈ кэш часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… справочников. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСдС (Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания, Π²Π΅Π±-сСрвисы) Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ_race condition_ (ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π³ΠΎΠ½ΠΊΠΈ), ΠΊΠΎΠ³Π΄Π° Π΄Π²Π° процСсса ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π­Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Ρ€ΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ хранСния ΠΎΠ±Ρ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π₯ранилищСЗначСния ΠΈΠ»ΠΈ рСгистры свСдСний. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² кластСрС сСрвСров.

Если Π²Ρ‹ всС ΠΆΠ΅ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Β«Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉΒ» ΠΈ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒΒ» (Ссли трСбуСтся сохранСниС состояния ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСанса). Но ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅: сохраняСмыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ сСрвСра Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° сСанса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

πŸ’‘

ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… сниТаСт ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ

Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ начинаСтся с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅Ρ‘ объявлСния ΠΈ выдСлСния памяти, Π° заканчиваСтся Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· области видимости. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌ этапом являСтся инициализация β€” присвоСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния. Π’ 1Π‘ пСрСмСнная Ρ‚ΠΈΠΏΠ° НСопрСдСлСно Π½Π΅ Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ ΠΈΠ»ΠΈ пустой строкС, это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ состояниС.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Новый Массив ΠΈΠ»ΠΈ Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ создаСт сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти, Π° лишь создаСт ссылку, которая ΠΏΠΎΠΊΠ° Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚.

ΠŸΠ΅Ρ€Π΅ΠΌ МойМассив;

// Ошибка ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ создан

// МойМассив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(1);

// ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ инициализация

МойМассив = Новый Массив;

МойМассив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(1);

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π₯отя сборщик мусора 1Π‘ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ автоматичСски, Π² Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΎΠ±Π½ΡƒΠ»ΡΡ‚ΡŒ ссылки Π½Π° тяТСлыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (ΠœΠΎΠΉΠžΠ±ΡŠΠ΅ΠΊΡ‚ = НСопрСдСлСно), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ€Π°Π½ΡŒΡˆΠ΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ срока.

  • 🧹 БвоСврСмСнная очистка ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСполнСния памяти ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ”„ ΠŸΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄Π½ΠΎΠΉ структуры для заполнСния строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) эффСктивнСС, Ρ‡Π΅ΠΌ созданиС Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.
  • πŸ›‘οΈ Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Null β€” всСгда провСряйтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ значСния ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π΅Π³ΠΎ свойствам ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, хранящим соСдинСния с внСшними источниками Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ HTTP-соСдинСния. Π˜Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π² Π±Π»ΠΎΠΊΠ°Ρ… ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Ρ‚ΡŒ Π»ΠΈΠΌΠΈΡ‚Ρ‹ соСдинСний Π½Π° сСрвСрС.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

Одной ΠΈΠ· самых распространСнных ошибок являСтся ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 1Π‘ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ объявлСния (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах), систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠ»Ρ‡Π°Π»ΠΈΠ²ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ вмСсто использования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ логичСскому сбою.

Π’ соврСмСнных вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ рСкомСндуСтся Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ строгий ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ объявлСний. Π­Ρ‚ΠΎ заставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° явно ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Ρ‡Ρ‚ΠΎ сразу выявляСт ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π½Π° этапС компиляции модуля. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² настройках ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° являСтся стандартом качСствСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” использованиС ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². НапримСр, Ссли Π²Ρ‹ Π½Π°Π·ΠΎΠ²Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Найти, Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ доступ ΠΊ стандартному ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ поиска Π² контСкстС этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ транслитСрации русских слов Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ английскиС названия (UserName вмСсто ImyaPolzovatelya). Π­Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с внСшними систСмами.

πŸ“Š Как Π²Ρ‹ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² 1Π‘?
Вранслитом (SummaDogovora)
По-русски (Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°)
По-английски (ContractAmount)
Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΠΎ (SumDog)

БоблюдСниС Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ стиля имСнования (CamelCase ΠΈΠ»ΠΈ snake_case) Π²ΠΎ всСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ критичСски Π²Π°ΠΆΠ½ΠΎ. Π₯Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² ΠΊΠΎΡˆΠΌΠ°Ρ€, ΠΊΠΎΠ³Π΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ хранится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ tmp1 ΠΈΠ»ΠΈ data_x.

РСгулярно ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°, удаляя Β«ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Π΅Β» ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. Π’Π°ΠΊΠΈΠ΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ Π·Π°Ρ…Π»Π°ΠΌΠ»ΡΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ с Ρ‚ΠΎΠ»ΠΊΡƒ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ послС Π΅Ρ‘ объявлСния?

Π”Π°, Π² 1Π‘ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ благодаря динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Число, Π° ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΉ Π‘Ρ‚Ρ€ΠΎΠΊΡƒ. Однако, Ссли ΠΏΡ€ΠΈ объявлСнии Π±Ρ‹Π» явно ΡƒΠΊΠ°Π·Π°Π½ Ρ‚ΠΈΠΏ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΠ΅Ρ€Π΅ΠΌ Π₯ Π’ΠΈΠΏ Число), Ρ‚ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ нСсовмСстимый Ρ‚ΠΈΠΏ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠŸΠ΅Ρ€Π΅ΠΌ ΠΈ локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ΠŸΠ΅Ρ€Π΅ΠΌ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ уровня модуля, которая Π²ΠΈΠ΄Π½Π° Π²ΠΎ всСх ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… этого модуля ΠΈ сохраняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная (объявлСнная Π±Π΅Π· ΠŸΠ΅Ρ€Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹) Π²ΠΈΠ΄Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ удаляСтся ΠΈΠ· памяти послС Π΅Ρ‘ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π—Π½Π°Ρ‡ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ…?

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π—Π½Π°Ρ‡ (ΠΈΠ»ΠΈ Value) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пСрСдаСтся ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π­Ρ‚ΠΎ создаСт копию Π΄Π°Π½Π½Ρ‹Ρ… для использования Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ИзмСнСния этой ΠΊΠΎΠΏΠΈΠΈ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ случайной ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Как ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ константу Π² 1Π‘?

Π’ языкС 1Π‘ Π½Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова для объявлСния констант Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π° модуля, ΠΊΠ°ΠΊ const Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’ ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ константу, объявив ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ просто Π½Π΅ измСняя Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСчислСния.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ НСопрСдСлСно ΠΈ ΠΊΠ°ΠΊ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ?

НСопрСдСлСно β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° отсутствиС Π΄Π°Π½Π½Ρ‹Ρ…. Оно Π½Π΅ Ρ€Π°Π²Π½ΠΎ 0, пустой строкС ΠΈΠ»ΠΈ Π›ΠΎΠΆΡŒ. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ() ΠΈΠ»ΠΈ сравнСниС Если ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ для контроля ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.