c++ — ΠΠΎΡΠ΅ΠΌΡ inline-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ Π½Π΅ Π΄ΡΠ±Π»ΠΈΡΡΡΡΡΡ ΠΏΡΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ΅?
ΠΡΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ·ΡΠΊΠ° Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π±ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, Π·Π½Π°ΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π±ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. Π Π΄Π°Π»ΡΡΠ΅ ΡΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΡΠ΅ΠΌΡ Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π΄ΡΠ±Π»ΠΈΡΡΡΡΡΡ?
Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΡΠ΅ΡΠΈΠ» ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»Π°, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π΄ΡΠ±Π»ΠΈΡΡΡΡΡΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΡ ΠΊΠΎΠΏΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΎΡΠΎΠ±ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ — ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΡΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ΅ Π»ΠΈΠ½ΠΊΠ΅Ρ Π½Π΅ Π²ΡΠ΄Π°Π²Π°Π» ΠΎΡΠΈΠ±ΠΊΠΈ, Π° Π½Π°ΠΎΠ±ΠΎΡΠΎΡ ΠΌΠΎΠ»ΡΠ° ΡΠ΄Π°Π»ΡΠ» Π²ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ, ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ. Π’ΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ «ΡΠ²Π°Π»ΠΊΡ» ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΡΠΊΠΈΠ΄Π°Π½Π½ΡΡ
ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ, Π° Π»ΠΈΠ½ΠΊΠ΅Ρ ΠΏΠΎΡΠΎΠΌ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠΈΡΡΠΊΠΎΠΉ ΡΡΠΎΠΉ «ΡΠ²Π°Π»ΠΊΠΈ».
Π ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ
ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° *nix ΡΡΠ° ΠΏΠΎΠΌΠ΅ΡΠΊΠ° — ΡΡΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΊΠ°ΠΊ Ρ.Π½Π°Π·. «ΡΠ»Π°Π±ΠΎΠ³ΠΎ» (weak) ΡΠΈΠΌΠ²ΠΎΠ»Π°. Π ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ MSVC++ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΠΎΠΌΠ΅ΡΠΊΠ° . ΠΠΈΠ½ΠΊΠ΅ΡΡ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΡΡ Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ
«ΡΠΈΠ»ΡΠ½ΡΡ
» ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ. ΠΡΠ»ΠΈ ΠΆΠ΅ «ΡΠΈΠ»ΡΠ½ΡΠΉ» ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ (Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ «ΡΠ»Π°Π±ΡΠ΅»), ΡΠΎ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ «ΡΠΈΠ»ΡΠ½ΡΠΉ» ΡΠΈΠΌΠ²ΠΎΠ», Π° «ΡΠ»Π°Π±ΡΠ΅» ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ. ΠΡΠ»ΠΈ «ΡΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ» ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½Π΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅, Π° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ «ΡΠ»Π°Π±ΡΠ΅», ΡΠΎ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ (ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ) ΠΈΠ· «ΡΠ»Π°Π±ΡΡ
». ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΠ°ΠΏΠΎΡΡΡΠ΅ΡΡΡ.
ΠΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎ Π΄Π»Ρ inline-ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π΄Π»Ρ Π»ΠΈΠ½ΠΊΠ΅ΡΠ° ΠΊΠ°ΠΊ «ΡΠ»Π°Π±ΡΠΉ» — ΠΈ Π²ΡΠ΅.
(ΠΠ° ΡΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΎΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈ ΡΠΎΠΆΠ΅ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΏΠΈΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈ ΠΈΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.)
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π² Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
inline void bar() {}
void (*foo())()
{
return bar;
}
ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ nm ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ
0000000000000000 W _Z3barv 0000000000000000 T _Z3foov
ΠΡΠΊΠΎΠ²ΠΊΠ° W ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ «ΡΠ»Π°Π±ΡΠΉ» ΡΠΈΠΌΠ²ΠΎΠ», Π° Π±ΡΠΊΠΎΠ²ΠΊΠ° T — «ΡΠΈΠ»ΡΠ½ΡΠΉ» ΡΠΈΠΌΠ²ΠΎΠ».
ΠΠΎ Π²ΡΠ΅Ρ
ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
, Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΡΠ΅Π»ΠΎ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠΉ inline ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ _Z3barv Ρ ΠΏΠΎΠΌΠ΅ΡΠΊΠΎΠΉ W.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½ΠΈ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅ΡΠ΅Π· Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ ΡΠ΅ΡΠΈ: Π² Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡ ΠΈΠ½Π»Π°ΠΉΠ½ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ, Ρ.Π΅., Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½Π° ΠΎΠ±ΡΠ·Π°Π½Π° ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π°Π΄ΡΠ΅Ρ Π²ΠΎ Π²ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ.
ΠΠΎΠ±ΠΎΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ «ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ» ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅Ρ Π½Π°ΡΠ°Π»Π° ΠΈ ΠΊΠΎΠ½ΡΠ°, Π° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π°, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π‘++ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΡΠ°Π»ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ.
«ΠΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡ
ΠΎΠ΄Π½ΡΠ΅» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π»ΠΈ ΡΠ΅Π» Π΄Π»Ρ ΠΈΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΡΡ
ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΎΡ
ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½Ρ ΡΠ΅Π»Π°, Π·Π°ΡΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° Π²ΡΠ·ΡΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Π»Π° Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ ΡΠΈΠ½Π°Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡ. ΠΠΎ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² (GCC/Clang/MSVC) ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π½Π΅ ΠΏΡΠΈΠΆΠΈΠ»ΡΡ.
c++ — ΠΠΎΡΠ΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΈΠΊΠ»Ρ, ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠ»ΠΎΡ ΠΎ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ (inline)
ΠΠΎΠΏΡΠΎΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΡΠ°Π½ΠΈΡΠ΅. ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ — ΡΡΠΎ Π½Π΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΈΠ³ΡΠ°ΡΡ ΡΠΎΠ»Ρ Π² ΠΏΡΠΈΠ½ΡΡΠΈΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²ΡΡΡΠΎΠ΅Π½, Π½ΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎ. ΠΠ΄Π½ΠΈ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Ρ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ Π²ΡΡΡΠΎΠ΅Π½Ρ.
ΠΠ°ΠΆΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, ΠΌΠΎΠ³ΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ².
Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ Π½Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ, ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ «ΡΡΠΎ Π±ΡΠ»ΠΎ Π΄Π°Π²Π½ΠΎ ΠΈ Π½Π΅ΠΏΡΠ°Π²Π΄Π°».
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ²ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ Π»ΠΈ Π²ΡΠ·ΠΎΠ²Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ. Π ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΈΠ· ΡΡΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΡΡΠΎΡ ΡΠ²ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π» ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠ² (Borland ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π² ΡΡΠΎΠΌ ΡΠΎΠ΄Π΅).
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΈΠΊΠ»Ρ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠ΅Π³ΡΠ°Π΄ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ. ΠΠ½Π΅ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Ρ ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ Π²Π½ΡΡΡΠΈ.
Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π½Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ — ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΡΠ°Π½ΠΈΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅. ΠΡΠΎ Π²ΡΠ·ΠΎΠ²Ρ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ.
Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ, ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ.ΠΠΎΡΠ΅ΠΌΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ Π²ΡΠ·ΠΎΠ², ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ: ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅ ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΎΠ½ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΡΡΡΠΎΠΈΡ ΠΈ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ².
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠΉ Π²ΠΎΠΏΡΠΎΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΡΠ°Π½ΠΈΡΠ΅ — Π²ΠΎΠΏΡΠΎΡ ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ½ΠΈ Π²Π΅Π΄Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ «ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ» ΠΈ Π·Π½Π°ΡΠΈΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Ρ, ΠΏΡΠ°Π²Π΄Π°? ΠΠ΅ ΠΏΡΠ°Π²Π΄Π°. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ·ΠΎΠ² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π°ΠΏΡΡΠΌΡΡ, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°. ΠΠΎ-Π²ΡΠΎΡΡΡ , Π² ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠ² ΡΠ°ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΡΡΠΎΠΈΡΡ ΡΡΠΎΡ Π²ΡΠ·ΠΎΠ².
ΠΡΠ·ΠΎΠ²Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ.
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ ΡΠ΅ΠΊΡΡΡΠΈΠΈ, ΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠΎΠΈΡΡ ΡΡΠΈ Π²ΡΠ·ΠΎΠ²Ρ («ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ») Π½Π° Π²ΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΈ, ΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ·ΠΎΠ². ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π·Π²Π΅ΡΡΠΊΠ΅ ΡΠΈΠΊΠ»ΠΎΠ².
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ
ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ
ΡΠΈΡΡΠ°ΡΠΈΠΉ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΌΡΡΠ»Π΅, Ρ.Π΅. ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΎ ΠΌΠ΅ΡΡΠΎ Ρ Π΅Π΅ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ). Π’Π°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ «ΡΡΠΆΠ΅Π»Π°» ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ. (Π‘ ΡΡΠΈΠΌ ΠΈΠ΄Π΅Ρ ΡΡΠ΄ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ
ΠΎΠ³ΠΎΠ²ΠΎΡΠΎΠΊ, Π½ΠΎ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ.) ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π²ΡΡΡΠΎΡΡ ΡΡΠΎΡ Π²ΡΠ·ΠΎΠ² Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΡ
ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
-finline-functions-called-once, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΆΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ -O1.Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ MSVC++ Π΅ΡΡΡ #pragma-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ inline_recursion ΠΈ inline_depth, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ ΡΠ°Π·Π²Π΅ΡΡΠΊΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
ΠΠΎΠ³Π΄Π° «Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ» Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½? (Π² C)
Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π΄Π΅Π»Π°Π΅Ρ Π΄Π²Π΅ Π²Π΅ΡΠΈ:
- Π΄Π°Π΅Ρ Π²Π°ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· «ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ» (ΡΠΌ. Π½ΠΈΠΆΠ΅). ΠΡΠΎΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ .
- ΠΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ.
#1 ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅), Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ #2 ΠΎΡΠΊΠ»ΡΡΠ΅Π½.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠ°ΡΡΠΎ Π»ΡΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ).
[Π ΠΠΠΠΠ’ΠΠ ΠΠΠΠ’Π¬: ΠΏΠΎΠ»Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ]
ΠΠ²Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ
Π²ΡΡΠ΅ ΠΏΡΠ½ΠΊΡΠ° ΡΠ»Π΅Π΄ΡΡΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ° ISO/ANSI (ISO/IEC 9899:1999(E), ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Β«C99Β»).
Π Β§6.9 Β«ΠΠ½Π΅ΡΠ½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Β», ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ 5:
ΠΠ½Π΅ΡΠ½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ β ΡΡΠΎ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΊΡΠΎΠΌΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ) ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ²ΡΠ·ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ (ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° sizeof, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°), Π³Π΄Π΅-ΡΠΎ Π²ΠΎ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΎ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°; Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.
Π₯ΠΎΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² C++ ΡΠ²Π½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ (ODR), ΠΎΠ½ΠΎ ΡΠ»ΡΠΆΠΈΡ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅Π»ΠΈ. ΠΠ½Π΅ΡΠ½ΠΈΠ΅ (Ρ. Π΅. Π½Π΅ Β«ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅Β» ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° β ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ») ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΡΠΎΠ»ΡΠΊΠΎ , Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈ .
Π Β§6.7.4, Β«Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉΒ», ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅.
[118] ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.
Π ΡΠ½ΠΎΡΠΊΠ° (Π½Π΅Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½Π°Ρ), Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠ΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΎΠ±ΡΡΠ½ΠΎΠΌΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΠΊΡΡ ββΠΊΠ°ΠΊ Β«Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°Β». ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π»ΠΎ Π² ΡΠΎΡΠΊΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π½Π΅ Π² ΠΌΠ΅ΡΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ; Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅Π»ΠΎ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°Π΄ΡΠ΅Ρ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
Π Π΅Π·ΡΠΌΠ΅: Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ C ΠΈ C++ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΎΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ. ΠΠ³ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ β ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ
ΡΠ°ΡΡ
ΠΎΠ΄ΠΎΠ² Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ β ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°.
ΠΠΎ ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠ»Π°Π±Π»Π΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
(ΠΡΠ΅ ΡΠ΄Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ°.)
Π ΠΠΠΠΠ’ΠΠ ΠΠΠΠ’Π¬ 2: ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠΉ:
- Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π£ Π²Π°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ/ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ TU.
- Π’ΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΈΠ΄Π΅Π» ΡΡΠΎ Π² «ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ» VC++, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π° Π½Π΅ Π°Π²ΡΠΎΡ.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ·ΡΠΊΠ΅ C: ΠΏΠΎΡΠ΅ΠΌΡ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ADAS | ΠΠ»ΠΎΠ³
11 ΠΈΡΠ»Ρ 2017 Π³.
Π― Π»ΡΠ±Π»Ρ ΡΠΌΠΎΡΡΠ΅ΡΡ Β«Π·Π°ΠΊΡΠ»ΠΈΡΠ½ΡΠ΅Β» ΠΊΠ»ΠΈΠΏΡ ΡΠΈΠ»ΡΠΌΠΎΠ². Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π°ΠΊΡΠ΅ΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅ΠΌΠΎΡΠ½Π°Ρ Π³ΡΡΠΏΠΏΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Π½Π°Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ»ΡΠΌΠ°. ΠΡΠΈΡΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ ΠΈ Π²Π΅ΡΠ΅Π»ΡΠ΅ ΠΊΠ°Π΄ΡΡ. ΠΠΈΠ΄Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π½Π΅Π³Π»Π°ΠΌΡΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΡΠΈΠ»ΡΠΌΠΎΠ², Ρ Π»ΡΡΡΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Ρ ΠΈΡ
Π½Π° Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠΊΡΠ°Π½Π΅.
Π₯ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ, ΠΊΠ°ΠΊ ΡΠΈΠ»ΡΠΌΡ, Ρ Π½ΠΈΡ
ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ. ΠΠ΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π½Π΅ ΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΄Π΅Π»Π°Π΅Ρ Ρ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. Π’Π°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠ°ΠΊ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΡΡΠΊΠΎΡΠΈΡΡ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΊΠΎΠ΄Π° Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π±Π΅Π· ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ?
ΠΡΠ»ΠΈ ΡΠΈΠ»ΡΠΌ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΏΠΎΡΠ»Π΅ ΡΡΠ΅ΠΌΠΎΠΊ, ΡΡΠ΅Π½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π·Π°Π½Ρ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΡΡΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄. ΠΡΡΡΠ°ΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ°Π·Π½ΠΈΡΠ° Π² ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°.
Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ? ΠΠ±ΡΡΠ½ΠΎ Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ²ΠΎΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠΎΠ΅Π½Ρ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ Π½Π΅ ΡΡΠ°ΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΎΠ·Π²ΡΠ°Ρ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡΠΎΡΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π±ΡΠ»Π° Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΡΠ΅ ΠΎΠ΄Π½Π° Π²Π°ΠΆΠ½Π°Ρ Π²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠΊΠ° ΡΠ΅Π³ΠΎ-ΡΠΎ Β«Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΒ» Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΡΡΡΠΎΠΈΡ ΡΡΠΎ. ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ Β«ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°ΡΡΒ» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ.
ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅.
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π°, Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°.
ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ (ADAS) Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ ΡΠΎΠ½ΠΊΠΈΠΉ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠ°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠΎ, Π½ΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠΎΠ³Π΄Π° Π²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ½ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π²Π°ΡΠΈ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠ°ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»ΠΈΠ½Π½Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π°, ΠΎΠ½Π° Π·Π°ΠΉΠΌΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠΎΡ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΡΠΎ ΠΈ ΠΈΡ
Π²ΡΠ·ΠΎΠ², ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠΈ. Π Π΄ΡΡΠ³ΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠΎΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΅Π΅ ΠΊΠΎΠΏΠΈΠΉ, ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΡΠΎ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π²Π°ΠΌ Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΊΠΎΠ΄Π° Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΡΠ°ΡΠΈΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ.
ΠΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ
ΠΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π²ΡΡΡΠΎΠΈΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ: ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²Π°ΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ.
ΠΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ Π½ΠΈΠ·ΠΊΠΎ Π²ΠΈΡΡΡΠΈΠΉ ΠΏΠ»ΠΎΠ΄ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ, ΡΡΠΎ ΠΈ Π΅Π΅ Π²ΡΠ·ΠΎΠ², Π²Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΅Π΅ Π²ΡΡΡΠΎΠΈΡΡ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π·Π°ΠΌΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π½ΠΎ Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ. ΠΠ½ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΠΎΡΠΎΡΠΈ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½ΠΈΡ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π²ΡΠ·ΠΎΠ². ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½ΠΎ ΠΎΠ½ΠΈ Π²ΡΡ ΠΎΠ΄ΡΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΡ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΌΠ΅Π½ΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΠ΅, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½Π°Ρ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π²Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½Π°Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠΎΠΊ, ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ.

[118] ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.