ΠΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅ΠΌ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΈΠ·ΡΡΠ°ΡΡΠΈΡ ΡΠ·ΡΠΊ C++. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ Π±ΡΠ»Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΡΠ°Π½Π΅Π΅ Π² ΠΊΠΎΠ΄Π΅.
Π€ΡΠ°Π·Π° "error: 'i' was not declared in this scope" Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ i Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ "ΠΆΠΈΠ²Π΅Ρ" ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΅Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π² ΡΠΈΠΊΠ»Π°Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΡΠΈΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΎΠ²ΡΡΠ΅ΠΊ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
Π‘ΡΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² C++
ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (scope) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ { }, ΠΎΠ½Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++ ΡΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΡΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π±Π»ΠΎΠΊΠ°, Π³Π΄Π΅ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π°, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° undeclared identifier. ΠΡΠΎ Π·Π°ΡΠΈΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΄Π΅ Π½Π°ΡΡΡΠ°Π΅ΡΡΡ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ x ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ if, Π½ΠΎ ΠΏΠΎΠΏΡΡΠΊΠ° Π²ΡΠ²Π΅ΡΡΠΈ Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ.
if (true) {
int x = 10;
}
// ΠΡΠΈΠ±ΠΊΠ°: x Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π·Π΄Π΅ΡΡ
cout << x;
ΠΠΎΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΊ ΡΡΡΠΎΠ³?
C++ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ Ρ ΡΠΏΠΎΡΠΎΠΌ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. ΠΠ΅ΡΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ ΡΠ΅ΡΡΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠΈΠΊΠ»Π°Ρ for
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° "i was not declared in this scope" Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ. Π ΡΡΠ°ΡΡΡ
ΡΡΠ°Π½Π΄Π°ΡΡΠ°Ρ
C++ (Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 2011 Π³ΠΎΠ΄Π°) ΠΈ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-ΡΡΠ΅ΡΡΠΈΠΊ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ Π²Π½ΡΡΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΠΈΠΊΠ»Π° for, ΠΌΠΎΠ³Π»Π° Π±ΡΡΡ Π²ΠΈΠ΄Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π°.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, Π²Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ. ΠΠ½Π΅ ΡΡΠΈΡ
Π³ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ "Π·Π°Π±ΡΠ²Π°Π΅Ρ" ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
- C++98/03
- C++11
- C++14/17
- C++20 ΠΈ Π½ΠΎΠ²Π΅Π΅
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΡΠ°ΡΡΠΈΡΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΠ»Π°, Π½ΠΎ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΡΡΠΎ Π±Π΅Π· ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΎΠΏΠ°ΡΠ½ΠΎ. ΠΠ°ΠΆΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠ΅ΡΠΊΠΎ ΠΎΡΠΎΠ·Π½Π°Π²Π°ΡΡ, Π³Π΄Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΆΠΈΠ·Π½Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
- π« ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π²Π½ΡΡΡΠΈ
forΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Π² ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. - β ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΠ»ΠΎΠΌ Π΄Π΅Π»Π°Π΅Ρ Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π²ΠΎ Π²ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΠ»Π°.
- β οΈ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
iΠ²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΈΠΌΠ΅Π½ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΎΠ±ΡΡΠ²Π»ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΡΠ΅ΡΡΠΈΠΊΠΈ Π²Π½ΡΡΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° for, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΠΈΠΊΠ»Π°.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ
Π€ΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ { } ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΡΠ°ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ "not declared". ΠΡΠ»ΠΈ Π²Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ (ΠΈΠ»ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ) ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΠΈΡΠ½ΠΈΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ, Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΉ ΡΠ½Π°ΡΡΠΆΠΈ Π±ΡΠ΄Π΅Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½.
Π§Π°ΡΡΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ ΠΎΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π½ΠΎ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π²Π½ΡΡΡΠΈ, Π½Π΅ Π²ΡΠΉΠ΄Π΅Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π΅ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΌΠ΅Π½ΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ ΡΠΊΡΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· Π²Π½Π΅ΡΠ½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ
tempΠ²Π½ΡΡΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°, ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅ΠΊΡΠΎΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊtempΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π° Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΎΡΠ΅Π΄Π½Π΅ΠΌ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
{
int value = 5;
}
{
// value Π·Π΄Π΅ΡΡ Π½Π΅ Π²ΠΈΠ΄Π΅Π½
int result = value * 2;
}
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΉ ΠΎΠ±Π° Π±Π»ΠΎΠΊΠ°, Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΅ΡΠ»ΠΈ Π±Π»ΠΎΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ hoisting
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ JavaScript (Ρ Π΅Π³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ hoisting) ΠΈΠ»ΠΈ Python, Π² C++ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΈΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ· ΠΈ Π½Π΅ Π·Π°Π³Π»ΡΠ΄ΡΠ²Π°Π΅Ρ Π² Π±ΡΠ΄ΡΡΠ΅Π΅.
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ·ΠΎΠ²Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π½ΠΈΠΆΠ΅ ΠΏΠΎ ΡΠ΅ΠΊΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΎΠΎΠ±ΡΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΡ Π»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ?:ΠΠ°|ΠΠ΅Ρ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ Π±ΡΠΊΠ²?:ΠΠ°|ΠΠ΅Ρ-->
Π§Π°ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΠ·-Π·Π° Π±Π°Π½Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°. Π―Π·ΡΠΊ C++ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Count ΠΈ count β ΡΡΠΎ Π΄Π²Π΅ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ Count, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ count, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ count Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π°.
- π ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ².
- π‘ Π‘ΠΎΠ±Π»ΡΠ΄Π°ΠΉΡΠ΅ Π΅Π΄ΠΈΠ½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ (camelCase ΠΈΠ»ΠΈ snake_case).
- π Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΡ Π·Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ΅Π»Π° ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ Π½Π΅Ρ. ΠΠΎΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π΅Ρ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΅Π³ΠΎ ΡΡΠ΄Π° Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ ΠΏΡΠΈ Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ, ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π²ΠΈΠ΄Π½Ρ ΠΈΠ·Π²Π½Π΅.
| Π’ΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ | ΠΠ΄Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ | ΠΠ΄Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° |
|---|---|---|
| ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ | ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠ° | Π’ΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° |
| ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ | ΠΠ½Π΅ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ | ΠΠ΅Π·Π΄Π΅ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ |
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | Π ΡΠΏΠΈΡΠΊΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ | ΠΠ½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ |
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ , Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΅Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ (ΡΡΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΠ·-Π·Π° ΡΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²), Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, globalCounter ΠΈΠ»ΠΈ localVar), ΡΡΠΎΠ±Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ Π² Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π³ΠΈ
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΎΡΠΈΠ±ΠΊΠΈ "i was not declared in this scope", Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈ Π½Π°ΠΉΡΠΈ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π°. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΠΏΠΎ ΠΊΠΎΠ΄Ρ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π΅Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΡΠΈΠΊΠ»Π΅, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° Π·Π° Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΎΠ±ΡΡΠ²ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΠ»ΠΎΠΌ. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° Π² ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° Π² Π½Π΅Ρ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π΅Π· ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΎ ΡΡ ΡΠ΄ΡΠ°Π΅Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ Π² Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ IDE, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Visual Studio, CLion ΠΈΠ»ΠΈ VS Code, ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°ΡΡΡΡ ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π²ΠΎΠ»Π½ΠΈΡΡΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Π΅ΡΠ΅ Π΄ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ°Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΎΡΠΈΠ±ΠΊΡ ΡΠ°ΡΡΠΎ Π΄Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π°.
// ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄
int i; // ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅
for (i = 0; i < 10; i++) {
// ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ
}
// ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ½Π°ΡΡΠΆΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ
cout << i;
Π‘Π»Π΅Π΄ΡΡ ΡΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄Ρ Π·Π° ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΡΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° C++.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ shadowing?
Shadowing (Π·Π°ΡΠ΅Π½Π΅Π½ΠΈΠ΅) β ΡΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠΊΡΡΠ²Π°Ρ Π²Π½Π΅ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΡΠΎεζ³Π½ΠΎ Π² C++, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΡΠ΄Π½ΠΎΡΠ»ΠΎΠ²ΠΈΠΌΡΠΌ Π±Π°Π³Π°ΠΌ.
ΠΠΎΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΈΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ "scope", Π° Π½Π΅ "block"?
Π’Π΅ΡΠΌΠΈΠ½ "scope" (ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ) ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, Π½ΠΎ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½, ΠΊΠ»Π°ΡΡΡ, ΡΠ°ΠΉΠ»Ρ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½, ΡΡΠΎΠ±Ρ ΠΎΡ Π²Π°ΡΠΈΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ, Π³Π΄Π΅ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡΠ°Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ ?
ΠΠ°, Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ. ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΠ°Π·Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ int i Π² ΡΡΠ½ΠΊΡΠΈΠΈ main ΠΈ Π΄ΡΡΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ int i Π² ΡΡΠ½ΠΊΡΠΈΠΈ calculate. ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π·Π½ΡΡ
ΠΎΠ±Π»Π°ΡΡΡΡ
ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ.
ΠΠ°ΠΊ Π±ΡΡΡΡΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ?
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ IDE ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ "Find Usages" (ΠΠ°ΠΉΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ). ΠΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡ Π²ΡΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π³Π΄Π΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡΡΠΎ Π½Π°ΠΉΡΠΈ ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ.