Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C++Β»

Автор Бтраустрап Π‘ΡŒΡΡ€Π½

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅

Π―Π·Ρ‹ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ наш способ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ ΠΈ опрСдСляСт, ΠΎ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ.

Π‘.Π›. Π’ΠΎΡ€Ρ„

Π‘++ – это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, Π·Π°Π΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ приятным для ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ³ΠΎ программиста. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ второстСпСнных Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π‘++ являСтся надмноТСством языка программирования C. Помимо возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π΅Ρ‚ C, Π‘++ прСдоставляСт Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ эффСктивныС срСдства опрСдСлСния Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ опрСдСлСния Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… концСпциям прилоТСния, программист ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ части. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ построСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ абстракциСй Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… содСрТится Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ просты ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ Π² использовании Π² Ρ‚Π΅Ρ… ситуациях, ΠΊΠΎΠ³Π΄Π° ΠΈΡ… Ρ‚ΠΈΠΏ нСльзя ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° стадии компиляции. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. ΠŸΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅, ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ ΠΈ Π»Π΅Π³Ρ‡Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ понятиСм Π‘++ являСтся класс. Класс – это Ρ‚ΠΈΠΏ, опрСдСляСмый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠšΠ»Π°ΡΡΡ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ сокрытиС Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² для Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, динамичСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘++ прСдоставляСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠ΅, Ρ‡Π΅ΠΌ Π² C, срСдства выраТСния ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ². Π’ языкС Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ связанныС нСпосрСдствСнно с классами, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π² сСбя символичСскиС константы, inline-подстановку Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ управлСния свободной ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ссылочный Ρ‚ΠΈΠΏ. Π’ Π‘++ сохранСны возмоТности языка C ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с основными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния (Π±ΠΈΡ‚Ρ‹, Π±Π°ΠΉΡ‚Ρ‹, слова, адрСса ΠΈ Ρ‚.ΠΏ.). Π­Ρ‚ΠΎ позволяСт вСсьма эффСктивно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹, опрСдСляСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π‘++ ΠΈ Π΅Π³ΠΎ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ спроСктированы Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ. Π˜ΠΌΠ΅ΡŽΡ‰Π°ΡΡΡ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ рСализация языка Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… C. Из Π‘++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈ с Π‘++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C. Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ программистам ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ язык ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Π’ Π½Π΅ΠΉ Π΄Π°Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ описаниС Π‘++, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ Π΅Ρ‰Π΅ большС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Благодарности

Π‘++ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π±Ρ‹ Π½Π΅ созрСл Π±Π΅Π· постоянного использования, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ конструктивной ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈ со стороны ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³. Π’ΠΎΠΌ ΠšΠ°Ρ€Π΄ΠΆΠΈΠ»Π», Π”ΠΆΠΈΠΌ Коплин, Π‘Ρ‚Ρƒ ЀСльдман, Бэнди Π€Ρ€Π·Π΅Ρ€, Π‘Ρ‚ΠΈΠ² ДТонсон, Брайэн ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π‘Π°Ρ€Ρ‚ Π›ΠΎΠΊΠ°Π½Ρ‚ΠΈ, Π”ΡƒΠ³ ΠœΠ°ΠΊΠ˜Ρ€ΠΎΠΉ, Дэннис Π ΠΈΡ‡Ρ‡ΠΈ, Лэрри РослСр, Π”ΠΆΠ΅Ρ€Ρ€ΠΈ Π¨Π²Π°Ρ€Ρ† ΠΈ Π”ΠΆΠΎΠ½ Π¨ΠΎΠΏΠΈΡ€ΠΎ ΠΏΠΎΠ΄Π°Π»ΠΈ Π²Π°ΠΆΠ½Ρ‹Π΅ для развития языка ΠΈΠ΄Π΅ΠΈ. Дэйв ΠŸΡ€Π΅ΡΠΎΡ‚Ρ‚ΠΎ написал Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π‘++ внСсли свой Π²ΠΊΠ»Π°Π΄ сотни людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ присылали ΠΌΠ½Π΅ прСдлоТСния ΠΏΠΎ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡŽ, описания трудностСй, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ, ΠΈ ошибки компилятора. Π—Π΄Π΅ΡΡŒ я ΠΌΠΎΠ³Ρƒ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ лишь Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ· Π½ΠΈΡ…: Гэри Π‘ΠΈΡˆΠΎΠΏ, Π­Π½Π΄Ρ€ΡŽ Π₯ьюм, Π’ΠΎΠΌ ΠšΠ°Ρ€Ρ†Π΅Ρ, Π’ΠΈΠΊΡ‚ΠΎΡ€ ΠœΠΈΠ»Π΅Π½ΠΊΠΎΠ²ΠΈΡ‡, Π ΠΎΠ± ΠœΡŽΡ€Ρ€ΡΠΉ, Π›Π΅ΠΎΠ½ΠΈ Росс, Брайэн Π¨ΠΌΠ°Π»ΡŒΡ‚ ΠΈ Π“Π°Ρ€Ρ€ΠΈ Π£ΠΎΠΊΠ΅Ρ€

Π’ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ этой ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди, Π² частности, Π”ΠΆΠΎΠ½ Π‘Π΅Π½Ρ‚Π»ΠΈ, Π›Π°ΡƒΡ€Π° Ивс, Брайэн ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Вэд Ковальски, Π‘Ρ‚ΠΈΠ² ΠœΠ°Ρ…Π°Π½ΠΈ, Π”ΠΆΠΎΠ½ Π¨ΠΎΠΏΠΈΡ€ΠΎ ΠΈ участники сСминара ΠΏΠΎ Π‘++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ проводился Π² Bell Labs, ΠšΠΎΠ»ΡƒΠΌΠ±ΠΈΡ, Огайо, 26-27 июня 1985 Π³ΠΎΠ΄Π°.

ΠœΡŽΡ€Ρ€ΡΠΉ Π₯ΠΈΠ»Π», Нью ДТСрси Π‘ΡŒΡΡ€Π½ Бтраустрап

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ для читатСля

«О ΠΌΠ½ΠΎΠ³ΠΎΠΌ,Β» – ΠΌΠΎΠ»Π²ΠΈΠ» ΠœΠΎΡ€ΠΆ, – Β«ΠŸΡ€ΠΈΡˆΠ»Π° ΠΏΠΎΡ€Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ.Β»

Π›. ΠšΡΡ€Ρ€ΠΎΠ»

Π’ этой Π³Π»Π°Π²Π΅ содСрТится ΠΎΠ±Π·ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ, список библиографичСских ссылок ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ замСчания ΠΏΠΎ Π‘++ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°. ЗамСчания ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ истории Π‘++, ΠΈΠ΄Π΅ΠΉ, ΠΎΠΊΠ°Π·Π°Π²ΡˆΠΈΡ… влияниС Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π‘++, ΠΈ мыслСй ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ программирования Π½Π° Π‘++. Π­Ρ‚Π° Π³Π»Π°Π²Π° Π½Π΅ являСтся Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ: замСчания Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ для понимания ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π², ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ Π·Π½Π°Π½ΠΈΠ΅ Π‘++.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° этой ΠΊΠ½ΠΈΠ³ΠΈ

Π“Π»Π°Π²Π° 1 – это ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ‚ΡƒΡ€Π½Π΅ ΠΏΠΎ основным особСнностям Π‘+ +, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ язык. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ Π½Π° C ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ Π³Π»Π°Π²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ быстро, ΠΎΠ½Π° ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ‡Π΅Ρ€Ρ‚Ρ‹, ΠΎΠ±Ρ‰ΠΈΠ΅ для C ΠΈ Π‘++. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Π»Π°Π²Π΅ описаны срСдства опрСдСлСния Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² Π‘++, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ этого Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‡Ρ‚ΡƒΡ‚ Π“Π»Π°Π²Ρ‹ 2, 3 ΠΈ 4.

Π’ Π“Π»Π°Π²Π°Ρ… 2, 3 ΠΈ 4 ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ срСдства Π‘++, Π½Π΅ входящиС Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²: основныС Ρ‚ΠΈΠΏΡ‹, выраТСния ΠΈ структуры управлСния Π² Π‘++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π² Π½ΠΈΡ… описываСтся подмноТСство Π‘++, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎ сущСству являСтся языком C. РассмотрСниС Π² Π½ΠΈΡ… проводится Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, Π½ΠΎ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² справочном руководствС.

Π’ Π“Π»Π°Π²Π°Ρ… 5, 6 ΠΈ 7 ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ срСдства Π‘++ ΠΏΠΎ описанию Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², особСнности языка, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ эквивалСнта Π² C. Π’ Π“Π»Π°Π²Π΅ 5 приводится понятиС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса, ΠΈ показываСтся, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ°, опрСдСляСмого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ…. Π’ Π“Π»Π°Π²Π΅ 6 ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ для опрСдСляСмого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΡƒΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ прСобразования ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, опрСдСляСмыми ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΈ ΠΊΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ созданиС, ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ значСния опрСдСляСмого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ°. Π“Π»Π°Π²Π° 7 описываСт ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов, которая позволяСт программисту ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС классы ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ простых, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ интСрфСйсы класса ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ эффСктивно ΠΈ с Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠ΅ΠΉ Ρ‚ΠΈΠΏΠ° Π² Ρ‚Π΅Ρ… ситуациях, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ извСстны Π½Π° стадии компиляции.

Π’ Π“Π»Π°Π²Π΅ 8 прСдставлСны классы ostream ΠΈ istream, прСдоставляСмыС стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для осущСствлСния Π²Π²ΠΎΠ΄Π°-Π²Π²ΠΎΠ΄Π°. Π­Ρ‚Π° Π³Π»Π°Π²Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²ΠΎΡΠΊΡƒΡŽ Ρ†Π΅Π»ΡŒ: Π² Π½Π΅ΠΉ прСдставлСны ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ срСдства, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ являСтся Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования Π‘++.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π² ΠΊΠ½ΠΈΠ³Ρƒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ справочноС руководство ΠΏΠΎ Π‘++.

Бсылки Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ части этой ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ #2.3.4 (Π“Π»Π°Π²Π° 2 ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π» 3.4). Π“Π»Π°Π²Π° с – это справочноС руководство Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ #с.8.5.5.

ЗамСчания ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π’ΠΎ врСмя написания этой ΠΊΠ½ΠΈΠ³ΠΈ всС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π‘++ использовали вСрсии СдинствСнного интСрфСйсного компилятора*. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии систСмы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX Π½Π° AT amp;T 3B, DEC VAX, IBM 370 ΠΈ Motorolla 68000. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводятся Π² этой ΠΊΠ½ΠΈΠ³Π΅, взяты нСпосрСдствСнно ΠΈΠ· исходных Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π° 3B Π² UNIX System V вСрсии 2 [15], VAX11/750 ΠΏΠΎΠ΄ 8-ΠΎΠΉ Π Π΅Π΄Π°ΠΊΡ†ΠΈΠ΅ΠΉ UNIX [16] ΠΈ CCI Power 6/32 ΠΏΠΎΠ΄ BSD4.2 UNIX [17]. Π―Π·Ρ‹ΠΊ, описанный Π² этой ΠΊΠ½ΠΈΠ³Π΅, – это «чистый Π‘++Β», Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ компиляторы Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ большоС число Β«Π°Π½Π°Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΌΠΎΠ²Β» (описанных Π² #с.15.3), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ ΠΎΡ‚ C ΠΊ Π‘++.

– * Π‘++ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π² AT amp;T, Software Sales and Marketing, PO Box 25000, Greensboro, NC 27420, USA (Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ 800-828-UNIX) ΠΈΠ»ΠΈ Π² Π²Π°ΡˆΠΈΡ… мСстных организациях, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΄Π°ΠΆΡƒ БистСмы UNIX. (ΠΏΡ€ΠΈΠΌ. Π°Π²Ρ‚ΠΎΡ€Π°)

УпраТнСния

УпраТнСния находятся Π² ΠΊΠΎΠ½Ρ†Π΅ Π³Π»Π°Π². ВсС упраТнСния Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ‚ΠΈΠΏΠ° Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ всСгда ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… тСстовых случаях. УпраТнСния Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π² основном ΠΏΠΎ слоТности, поэтому ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ стСпСни слоТности. Π¨ΠΊΠ°Π»Π° ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π½Π° ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ (*1) Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚, Ρ‚ΠΎ Π½Π° ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ (*2) Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ час, Π° Π½Π° (*3) – дСнь. ВрСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ трСбуСтся Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, зависит большС ΠΎΡ‚ ΠΎΠΏΡ‹Ρ‚Π° читатСля, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΎΡ‚ самого упраТнСния. Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ (*1) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π½ΡΡ‚ΡŒ дСнь, Ссли для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅, Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ сначала придСтся Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΎΠ²ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмой. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ‚ΠΎΡ‚, Ρƒ ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ окаТСтся Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ (*5) Π·Π° час. Π’ качСствС источника ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ ΠΊ Π“Π»Π°Π²Π°ΠΌ 2-4 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠΎ C. Π£ Ахо ΠΈ Π΄Ρ€. [1] ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ большоС количСство ΠΎΠ±Ρ‰ΠΈΡ… структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚Ρƒ ΠΊΠ½ΠΈΠ³Ρƒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ источником ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ ΠΊ Π“Π»Π°Π²Π°ΠΌ 5-7. Однако языку, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² этой ΠΊΠ½ΠΈΠ³Π΅ использовался, нСдостаСт ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‡Π»Π΅Π½ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ опрСдСляСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΡ‹ часто ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π² Π‘++ Π±ΠΎΠ»Π΅Π΅ элСгантно.