ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π‘ΠΈ ΠΈ Π‘ΠΈ++

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Бтрауструп Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Bell Labs Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ (Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²). ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ примСнСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ языков модСлирования оказались нСэффСктивными. Вспоминая ΠΎΠΏΡ‹Ρ‚ своСй диссСртации, Бтрауструп Ρ€Π΅ΡˆΠΈΠ» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ язык Π‘ΠΈ (ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ BCPL) возмоТностями, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈΠΌΡƒΠ»Π°. Π―Π·Ρ‹ΠΊ Π‘ΠΈ, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ языком систСмы UNIX, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘ΠΈ ΠΈ Π‘ΠΈ++ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΈ (Π°Π½Π³Π». C) — стандартизированный ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² Π½Π°Ρ‡Π°Π»Π΅ 1970;Ρ… Π³ΠΎΠ΄ΠΎΠ² сотрудниками Bell Labs КСном Вомпсоном ΠΈ Π”Снисом Π ΠΈΡ‚Ρ‡ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ языка Π‘ΠΈ. Π‘ΠΈ Π±Ρ‹Π» создан для использования Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС UNIX. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΎΠ½ Π±Ρ‹Π» ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈ ΡΡ‚Π°Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… языков программирования.

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

Для языка Π‘ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, соврСмСнный Π½Π°Π±ΠΎΡ€ конструкций управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ выполнСния, структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ ΠΎΡ‚личаСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌΠΎΠΌ. Авторы языка Ρ…ΠΎΡ‚Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ компилятора, послС компиляции ΠΊΠ°ΠΆΠ΄ΠΎΠΉ элСмСнтарной ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ соотвСтствовало вСсьма нСбольшоС число ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… элСмСнтов языка Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Π»ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. ΠžΠ΄Π½ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹ΠΉ компилятор ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ Π½Π°Π·Π°Π΄, ΠΊ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ тСксту. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ использованию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅. Код Π½Π° Π‘ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ абстракции, ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΊ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅. Иногда Π‘ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ассСмблСром» ΠΈΠ»ΠΈ «Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠΌ высокого уровня», Ρ‡Ρ‚ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ языков ассСмблСра для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ Π΅Π΄ΠΈΠ½ΡΡ‚Π²ΠΎ стандарта Π‘ΠΈ, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скомпилирован Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ практичСски Π½Π° Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π‘ΠΈ Ρ‡Π°ΡΡ‚ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ языком срСднСго уровня ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, учитывая Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ устройствам.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ Π‘ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ благодаря ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ языка ΠΈ ΡΠΊΡ€ΠΎΠΌΠ½ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ элСмСнтов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹ΠΉ язык доступСн Π½Π° ΡΠ°ΠΌΡ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΡ€ΡƒΠ³ этих ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΡˆΠΈΡ€Π΅, Ρ‡Π΅ΠΌ Ρƒ Π»ΡŽΠ±ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ языка). К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, нСсмотря Π½Π° ΡΠ²ΠΎΡŽ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ, язык позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ пСрСносимыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ программиста Π² ΡΡ‚ΠΎΠΌ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ стандарту языка, ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΡΠ°ΠΌΡ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ….

Π‘ΠΈ (ΠΊΠ°ΠΊ ΠΈ ΠžΠ‘ UNIX, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя Π±Ρ‹Π» связан) создавался программистами ΠΈ Π΄Π»Ρ программистов, ΠΊΡ€ΡƒΠ³ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π» Π±Ρ‹ Π½Π΅Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΠΈΡ€Π΅ ΠΊΡ€ΡƒΠ³Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² языка. НСсмотря Π½Π° ΡΡ‚ΠΎ, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ использования языка Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡˆΠΈΡ€Π΅ Π·Π°Π΄Π°Ρ‡ систСмного программирования.

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

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

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π‘ΠΈ:

  • — Π°Π²Ρ‚оматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ;
  • — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ΠΏΡ€ΠΈ этом ΠΏΠ΅Ρ€Π²Ρ‹Π΅ вСрсии C++ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ);
  • — Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ компиляторы языка Π‘ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ компилятор GNU);
  • — ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²;
  • — Π²ΡΡ‚роСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многозадачности ΠΈ ΡΠ΅Ρ‚ΠΈ;
  • — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π‘ΠΈ Π½Π΅Ρ‚ ΡΡ‚ΠΎΠ»ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ, Π° ΡΡ‚ΠΎ Π±Ρ‹Π»ΠΎ Π²Π°ΠΆΠ½ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅, язык Π±Ρ‹Π» Ρ…ΠΎΡ€ΠΎΡˆΠΎ принят, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ компиляторы для Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ позволял программистам довольно Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Благодаря этому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π‘ΠΈ, эффСктивнСС написанных Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, лишь ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΊΠΎΠ΄ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ быстрСС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π°Ρ‘Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ машиной, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ соврСмСнных компиляторов вмСстС с ΡƒΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ΠΌ соврСмСнных процСссоров быстро сократило этот Ρ€Π°Π·Ρ€Ρ‹Π².

Одним ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΠΉ высокой эффСктивности ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΠΈ Π‘ΠΈ ΡΡ‚Π°Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ компиляторы, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков высокого уровня часто Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ.

Π‘ΠΈ++.

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования, Π½ΠΎ, Π² ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ с Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠΌ — языком Π‘ΠΈ, — наибольшСС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ программирования.

НазваниС «Π‘ΠΈ++» происходит ΠΎΡ‚ Π‘ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ++ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ 1990;Ρ… Π³ΠΎΠ΄Π°Ρ… язык стал ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСмых языков программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния.

ΠŸΡ€ΠΈ создании Π‘ΠΈ++ ΡΡ‚Ρ€Π΅ΠΌΠΈΠ»ΠΈΡΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΡΠ·Ρ‹ΠΊΠΎΠΌ Π‘ΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π‘ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ исправно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ Π‘ΠΈ++. Π‘ΠΈ++ ΠΈΠΌΠ΅Π΅Ρ‚ синтаксис, основанный Π½Π° ΡΠΈΠ½Ρ‚аксисС Π‘ΠΈ.

Π―Π·Ρ‹ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊ Π² Π½Π°Ρ‡Π°Π»Π΅ 1980;Ρ… Π³ΠΎΠ΄ΠΎΠ², ΠΊΠΎΠ³Π΄Π° сотрудник Ρ„ΠΈΡ€ΠΌΡ‹ Bell Laboratories Π‘ΡŒΡ‘Ρ€Π½ Бтрауструп ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» ряд ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠ·Ρ‹ΠΊΡƒ Π‘ΠΈ ΠΏΠΎΠ΄ собствСнныС Π½ΡƒΠΆΠ΄Ρ‹. Π”ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ стандартизации язык развивался Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ силами Бтрауструпа Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π·Π°ΠΏΡ€ΠΎΡΡ‹ программистского сообщСства. Π’ 1998 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π» Ρ€Π°Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ стандарт языка Π‘ΠΈ++: ISO/IEC 14 882:1998 «Standard for the C++ Programming Language», послС принятия тСхничСских исправлСний ΠΊ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρƒ Π² 2003 Π³ΠΎΠ΄Ρƒ — Π½Ρ‹Π½Π΅ΡˆΠ½ΡΡ вСрсия этого стандарта — ISO/IEC 14 882:2003. Π Π°Π½Π½ΠΈΠ΅ вСрсии языка, извСстныС ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ «C Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ», Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ с 1980 Π³ΠΎΠ΄Π°.

ИдСя создания Π½ΠΎΠ²ΠΎΠ³ΠΎ языка Π±Π΅Ρ€Ρ‘Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΎΡ‚ ΠΎΠΏΡ‹Ρ‚Π° программирования Бтрауструпа для диссСртации. Он ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ язык модСлирования Π‘ΠΈΠΌΡƒΠ»Π° (Simula) ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ большого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ слишком ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя язык BCPL достаточно быстр, Π½ΠΎ ΡΠ»ΠΈΡˆΠΊΠΎΠΌ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ ΡΠ·Ρ‹ΠΊΠ°ΠΌ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ большого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Бтрауструп Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Bell Labs Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ (Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²). ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ примСнСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ языков модСлирования оказались нСэффСктивными. Вспоминая ΠΎΠΏΡ‹Ρ‚ своСй диссСртации, Бтрауструп Ρ€Π΅ΡˆΠΈΠ» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ язык Π‘ΠΈ (ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ BCPL) возмоТностями, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈΠΌΡƒΠ»Π°. Π―Π·Ρ‹ΠΊ Π‘ΠΈ, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ языком систСмы UNIX, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Bell, являСтся быстрым, ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΡ‹ΠΌ. Бтрауструп Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊ Π½Π΅ΠΌΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, практичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ модСлирования оказались доступными для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (благодаря использованию Π‘ΠΈΠΌΡƒΠ»Π°-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… классов) Ρ‚Π°ΠΊ ΠΈ Ρ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ вычислСний (благодаря Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ Π‘ΠΈ). Π’ Π½Π°Ρ‡Π°Π»Π΅ Π² Π‘ΠΈ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ классы (с ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΠ΅ΠΉ), ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ классы, строгая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ², inline-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Разрабатывая Π‘ΠΈ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ (ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π‘ΠΈ++), Бтрауструп Ρ‚Π°ΠΊΠΆΠ΅ написал ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ cfront — транслятор, ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ исходный ΠΊΠΎΠ΄ Π‘ΠΈ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ простого Π‘ΠΈ. Новый язык, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ для Π°Π²Ρ‚ΠΎΡ€Π°, ΠΏΡ€ΠΈΠΎΠ±Ρ€Ρ‘Π» Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ срСди ΠΊΠΎΠ»Π»Π΅Π³ ΠΈ Π²ΡΠΊΠΎΡ€Π΅ Бтрауструп ΡƒΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³ Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, отвСчая Π½Π° Ρ‚ысячи вопросов.

Π’ 1983 Π³ΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ языка ΠΈΠ· Π‘ΠΈ с ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² Π‘ΠΈ++. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Π½Π΅Π³ΠΎ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ возмоТности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ссылки, константы, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ свободной ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² (//).

Π•Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ коммСрчСский выпуск состоялся Π² ΠΎΠΊΡ‚ябрС 1985 Π³ΠΎΠ΄Π°. Π’ 1985 Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ»ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ «Π―Π·Ρ‹ΠΊΠ° программирования Π‘ΠΈ++», ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ описаниС этого языка, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° отсутствия ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ стандарта. Π’ 1989 Π³ΠΎΠ΄Ρƒ состоялся Π²Ρ‹Ρ…ΠΎΠ΄ Π‘ΠΈ++ вСрсии 2.0. Π•Π³ΠΎ Π½ΠΎΠ²Ρ‹Π΅ возмоТности Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈ мноТСствСнноС наслСдованиС, абстрактныС классы, статичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-константы ΠΈ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹.

Π’ 1990 Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ»ΠΎ «ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ справочноС руководство ΠΏΠΎ C++», ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ впослСдствии Π² ΠΎΡΠ½ΠΎΠ²Ρƒ стандарта. ПослСдниС обновлСния Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, пространства ΠΈΠΌΡ‘Π½, Π½ΠΎΠ²Ρ‹Π΅ способы привСдСния Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π±ΡƒΠ»Π΅Π²ΡΠΊΠΈΠΉ Ρ‚ΠΈΠΏ.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π‘ΠΈ++ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡŒ вмСстС с Π½ΠΈΠΌ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π‘ΠΈ++ стали ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ срСдства для Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π‘ΠΈ printf ΠΈ scanf. ПозднСС самым Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ стало Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² Π½Π΅Ρ‘ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ шаблонов.

ПослС ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ совмСстный ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ ANSI-ISO стандартизировал Π‘ΠΈ++ Π² 1998 Π³ΠΎΠ΄Ρƒ (ISO/IEC 14 882:1998 — Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ++). Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚ послС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° стандарта ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ выпустил ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ стандарта Π‘ΠΈ++ Π² 2003 Π³ΠΎΠ΄Ρƒ. Π’ Π½Π°ΡΡ‚оящСС врСмя рабочая Π³Ρ€ΡƒΠΏΠΏΠ° МОБ (ISO) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ Π½ΠΎΠ²ΠΎΠΉ вСрсиСй стандарта ΠΏΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ C++09 (Ρ€Π°Π½Π΅Π΅ извСстный ΠΊΠ°ΠΊ C++0X), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΉΡ‚ΠΈ Π² 2009 Π³ΠΎΠ΄Ρƒ.

Никто Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π½Π° ΡΠ·Ρ‹ΠΊ Π‘ΠΈ++, ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся свободным. Однако сам Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ стандарта языка (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠΎΠ²) Π½Π΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠ΅Π½ бСсплатно. НазваниС «Π‘ΠΈ++» Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ΠΎ Π ΠΈΠΊΠΎΠΌ ΠœΠ°ΡΡΠΈΡ‚Ρ‚ΠΈ (Rick Mascitti) ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±Ρ‹Π»ΠΎ использовано Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 1983 Π³ΠΎΠ΄Π°. Π Π°Π½Π΅Π΅, Π½Π° ΡΡ‚Π°ΠΏΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎΠ²Ρ‹ΠΉ язык назывался «Π‘ΠΈ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ».

Имя, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π΅ΡΡ Π² ΠΈΡ‚ΠΎΠ³Π΅, происходит ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π‘ΠΈ «++» (ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ). Имя «C+» Π½Π΅ Π±Ρ‹Π»ΠΎ использовано ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ являСтся синтаксичСской ошибкой Π² Π‘ΠΈ ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это имя Π±Ρ‹Π»ΠΎ занято Π΄Ρ€ΡƒΠ³ΠΈΠΌ языком.

Π―Π·Ρ‹ΠΊ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π½Π°Π·Π²Π°Π½ «D», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ «ΡΠ²Π»ΡΠ΅Ρ‚ся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Π‘ΠΈ ΠΈ Π½Π΅ пытаСтся ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡƒΡ‚Ρ‘ΠΌ удалСния элСмСнтов Π‘ΠΈ».

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ Π‘ΠΈ++ Π½Π° 1998 Π³ΠΎΠ΄ состоит ΠΈΠ· Π΄Π²ΡƒΡ… основных частСй: ядра языка ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π‘ΠΈ++ Π²ΠΎΠ±Ρ€Π°Π»Π° Π² ΡΠ΅Π±Ρ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π²ΡˆΡƒΡŽΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ шаблонов STL. БСйчас Π½Π°Π·Π²Π°Π½ΠΈΠ΅ STL ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ ΡƒΠΏΠΎΡ‚рСбляСтся, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΊΡ€ΡƒΠ³Π°Ρ… программистов Π½Π° Π‘ΠΈ++ это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обозначСния части стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, содСрТащСй опрСдСлСния шаблонов ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€ΠΎΠ².

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ Π‘ΠΈ++ содСрТит Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ссылку Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ Π‘ΠΈ ΠΎΡ‚ 1990 Π³ΠΎΠ΄Π° ΠΈ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΈΠΌΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ ΠΈΠ· ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘ΠΈ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π‘ΠΈ++, Π½Π΅ Π²Ρ…одящих Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° Π‘ΠΈ++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘ΠΈ.

Бтандартизация ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»Π° язык программирования Π‘ΠΈ++, ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π° ΡΡ‚ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Π΅, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ языка. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ врСмя язык развивался Π²Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°ΠΌΠΎΠΊ, спонтанно, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΡΡ‚Π°Π²ΠΈΠ²ΡˆΠΈΡ…ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π·Π°Π΄Π°Ρ‡. Π Π°Π·Π²ΠΈΡ‚ΠΈΡŽ языка сопутствовало Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ кросс-компилятора cfront.

ΠΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Π² ΡΠ·Ρ‹ΠΊΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π»ΠΈΡΡŒ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии кросс-компилятора. Π­Ρ‚ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий кросс-компилятора Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ ΠΈ Π½Π° ΡΠ°ΠΌ язык, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Π½Π°ΡΡ‚оящСму Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅Ρ‡ΡŒ ΠΎ Π²Π΅Ρ€ΡΠΈΡΡ… языка Π‘ΠΈ++ Π½Π΅ Π²Π΅Π΄ΡƒΡ‚.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ