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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C++Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 2

Автор ΠœΡŽΡ€Ρ€Π΅ΠΉ Π₯ΠΈΠ»Π»

Π’ Π‘++ Π½Π΅Ρ‚ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… высокого уровня ΠΈ Π½Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ высокого уровня. Π’ Π½Π΅ΠΌ Π½Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ обращСния ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ° строка с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ понадобятся ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² самом языкС. По сути Π΄Π΅Π»Π°, основноС, Ρ‡Π΅ΠΌ занимаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘++ – это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ-ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π₯ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, опрСдСляСмый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, отличаСтся ΠΎΡ‚ встроСнного Ρ‚ΠΈΠΏΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ способом опрСдСлСния, Π½ΠΎ Π½Π΅ способом использования.

Π˜ΡΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ Ρ‚Π΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ²Π»Π΅Ρ‡ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ расходы памяти ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. НапримСр, ΠΌΡ‹Π»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ «хозяйствСнной» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π±Ρ‹Π»ΠΈ ΠΎΡ‚Π²Π΅Ρ€Π³Π½ΡƒΡ‚Ρ‹. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ описываСт структуру, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π΄Π²ΡƒΡ… 16-Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½, Ρ‚ΠΎ структура помСстится Π² 32-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ рСгистр.

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

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

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ЗамСчания

БСзусловно, Π‘++ восходит Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊ C [7]. C сохранСн ΠΊΠ°ΠΊ подмноТСство, поэтому сдСланного Π² C Π°ΠΊΡ†Π΅Π½Ρ‚Π° Π½Π° срСдствах Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с самыми насущными Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ систСмного программирования. C, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠ½ΠΎΠ³ΠΈΠΌ обязан своСму ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΡƒ BCPL [9]. На самом Π΄Π΅Π»Π΅, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ // (Π·Π°Π½ΠΎΠ²ΠΎ) Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π² Π‘++ ΠΈΠ· BCPL. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ BCPL, Ρ‚ΠΎ Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π‘++ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅Ρ‚ VALOF Π±Π»ΠΎΠΊΠ°. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ источником вдохновСния послуТил язык Simula67 [2,3], ΠΈΠ· Π½Π΅Π³ΠΎ Π±Ρ‹Π»Π° позаимствована концСпция класса (вмСстС с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌΠΈ классами ΠΈ функциями Ρ‡Π»Π΅Π½Π°ΠΌΠΈ). Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· использованиС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ВозмоТности Π‘++ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ свобода Π² располоТСнии описаний Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Алгол68 [14].

НазваниС Π‘++ – ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ совсСм Π½Π΅Π΄Π°Π²Π½Π΅Π΅ (Π»Π΅Ρ‚Π° 1983-Π΅Π³ΠΎ). Π‘ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠ΅ вСрсии языка использовались начиная с 1980-ΠΎΠ³ΠΎ ΠΈ Π±Ρ‹Π»ΠΈ извСстны ΠΊΠ°ΠΊ Β«C с Классами». ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ язык Π±Ρ‹Π» ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ Ρ…ΠΎΡ‚Π΅Π» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ событийно управляСмыС ΠΌΠΎΠ΄Π΅Π»ΠΈ для Ρ‡Π΅Π³ΠΎ Π±Ρ‹Π» Π±Ρ‹ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Simula67, Ссли Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Β«C с Классами» использовался для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² модСлирования, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… строго Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ возмоТности написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ) минимального пространства памяти ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π’ Β«C с Классами» Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ссылок, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Π‘++ Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²Π²Π΅Π΄Π΅Π½ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π°Π²Ρ‚ΠΎΡ€Π° Π² июлС 1983Π³ΠΎ. Однако Ρ‚ΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ особСнности Π‘++ Π±Ρ‹Π»ΠΈ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Ρ‹.

НазваниС Π‘++ Π²Ρ‹Π΄ΡƒΠΌΠ°Π» Π ΠΈΠΊ ΠœΠ°ΡΡΠΈΡ‚Ρ‚ΠΈ. НазваниС ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ Π½Π΅ΠΌΡƒ ΠΎΡ‚ C. Β«++Β» – это опСрация приращСния Π² C. Π§ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ имя C+ являСтся синтаксичСской ошибкой, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΎ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ использовано ΠΊΠ°ΠΊ имя совсСм Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка. Π—Π½Π°Ρ‚ΠΎΠΊΠΈ сСмантики C находят, Ρ‡Ρ‚ΠΎ Π‘++ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ ++C. Названия D язык Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ являСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ C ΠΈ Π² Π½Π΅ΠΌ Π½Π΅ дСлаСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΠΈΡΡ†Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ выбрасывания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… особСнностСй. Π•Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ названия Π‘++ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ ΠžΡ€ΡƒΡΠ»Π»Ρƒ [8].

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π‘++ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΡ€Ρƒ ΠΈ Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ассСмблСрС, C ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… соврСмСнных языках высокого уровня. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ написаниС Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±ΠΎΠ»Π΅Π΅ простым ΠΈ приятным для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программиста. Плана Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π‘++ Π½Π° Π±ΡƒΠΌΠ°Π³Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π»ΠΎ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚, докумСнтация ΠΈ рСализация двигались ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. РазумССтся, внСшний интСрфСйс Π‘++ Π±Ρ‹Π» написан Π½Π° Π‘++. Никогда Π½Π΅ сущСствовало Β«ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π° Π‘++Β» ΠΈ Β«ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚Π° ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π‘++Β». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π‘++ развивался ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎ всСх направлСниях, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ со слоТностями, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² процСссС дискуссий Π°Π²Ρ‚ΠΎΡ€Π° с Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ.

Π’ качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ языка для Π‘++ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ C, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½

1. ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠΉ, Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня,

2. ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Π·Π°Π΄Π°Ρ‡ систСмного программирования,

3. ΠΈΠ΄Π΅Ρ‚ Π²Π΅Π·Π΄Π΅ ΠΈ Π½Π° всСм ΠΈ

4. ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π΅Π½ Π² срСдС программирования UNIX.

Π’ C Π΅ΡΡ‚ΡŒ свои слоТности, Π½ΠΎ Π² наспСх спроСктированном языкС Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π±Ρ‹ свои, Π° слоТности C Π½Π°ΠΌ извСстны. Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ€Π°Π±ΠΎΡ‚Π° с C ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Β«C с Классами» Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ (ΠΏΡ€Π°Π²Π΄Π°, Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ) инструмСнтом Π² Ρ…ΠΎΠ΄Π΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… мСсяцСв Ρ€Π°Π·Π΄ΡƒΠΌΠΈΠΉ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ C Simula-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… классов.

Π‘++ стал ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡˆΠΈΡ€Π΅, ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ возмоТности, прСдоставляСмыС ΠΈΠΌ ΠΏΠΎΠΌΠΈΠΌΠΎ возмоТностСй C, ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ всС Π±ΠΎΠ»Π΅Π΅ сущСствСнными, вновь ΠΈ вновь поднимался вопрос ΠΎ Ρ‚ΠΎΠΌ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с C. Ясно, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Π²ΡˆΠΈΡΡŒ ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ части наслСдия C ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ряда ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ (см., Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Бэти [12]). Π­Ρ‚ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ сдСлано, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ

1. Π΅ΡΡ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ строк Π½Π° C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ принСсти ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π² Π‘++ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ с C Π½Π° Π‘++,

2. Π΅ΡΡ‚ΡŒ сотни тысяч строк Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ сСрвисных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· ΠΈΠ»ΠΈ Π½Π° Π‘++ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Π‘++ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстим с C ΠΏΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ синтаксичСски ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° C,

3. Π΅ΡΡ‚ΡŒ дСсятки тысяч программистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π½Π°ΡŽΡ‚ C, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ, поэтому, Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ особСнности Π‘++, Π° Π½Π΅ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ основы ΠΈ

4. ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π‘++ ΠΈ C Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ систСмах ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ людьми, отличия Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΎΡ‡Π΅Π½ΡŒ большими, Π»ΠΈΠ±ΠΎ ΠΎΡ‡Π΅Π½ΡŒ малСнькими, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ ошибки ΠΈ нСдоразумСния.

ПозднСС Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° опрСдСлСния Π‘++, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ любая конструкция, допустимая ΠΈ Π² C ΠΈ Π² Π‘++, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π² ΠΎΠ±ΠΎΠΈΡ… языках ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅.

Π―Π·Ρ‹ΠΊ C сам ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π» Π·Π° послСдниС нСсколько Π»Π΅Ρ‚, частично ΠΏΠΎΠ΄ влияниСм развития Π‘++ (см. РостлСр [11]). ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π³Ρ€ΡƒΠ±Ρ‹ΠΉ ANSI стандарт C [10] содСрТит синтаксис описаний Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, заимствованный ΠΈΠ· Β«C с Классами». ЗаимствованиС ΠΈΠ΄Π΅ΠΉ ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ±Π΅ стороны. НапримСр, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ void* Π±Ρ‹Π» ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ для ANSI C ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π‘++. Когда ANSI стандарт Ρ€Π°Π·ΠΎΠ²ΡŒΠ΅Ρ‚ΡΡ нСсколько дальшС, ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ врСмя ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π‘++, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ. Π‘ΡƒΠ΄Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ прСпроцСссор (#с.11), ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, вСроятно, ΠΎΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° выполнСния ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ. Π­Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½Ρ‹ΠΌ, ΠΈ C ΠΈ ANSI C ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ подмноТСствами Π‘++ (см. #с.11).

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°

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

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

Одним ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ C Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ вмСсто программирования Π½Π° ассСмблСрС Π² самых насущных Π·Π°Π΄Π°Ρ‡Π°Ρ… систСмного программирования. Когда проСктировался Π‘++, Π±Ρ‹Π»ΠΈ приняты ΠΌΠ΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ успСхи Π² этой области. Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ C ΠΈ Π‘++ состоит Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² стСпСни внимания, удСляСмого Ρ‚ΠΈΠΏΠ°ΠΌ ΠΈ структурам. C Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»Π΅Π½ ΠΈ снисходитСлСн. Π‘++ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»Π΅Π½, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этой Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, программист Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ большС внимания Ρ‚ΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Когда извСстны Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ выраТСния, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС программисту ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ дСйствия с ΠΌΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ подробностями. Π—Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ позволяСт компилятору ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π±Ρ‹ Π΄ΠΎ тСстирования. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ использованиС систСмы Ρ‚ΠΈΠΏΠΎΠ² для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ случайного искаТСния, Π·Π°Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚.Π΄., само ΠΏΠΎ сСбС Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ расходов ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΈ памяти.