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

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

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

Π­Ρ‚ΠΈ конструкции ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ.

11.4 Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ строкой

Для ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ прСпроцСссорам, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘++, строка Π²ΠΈΠ΄Π°

#line константа «имя_Ρ„Π°ΠΉΠ»Π°Β»

заставляСт компилятор ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² цСлях дианостики ошибок, Ρ‡Ρ‚ΠΎ константа Π·Π°Π΄Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ слСдущСй строки исходного Ρ„Π°ΠΉΠ»Π°, ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» имСнуСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡ‚ΠΎΡ€ΠΎΠΌ. Если ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ отсутствуСт, Ρ‚ΠΎ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½Π½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° Π½Π΅ измСняСтся.

12. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π½Ρ‹Π΅ выраТСния

Π’ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСстах Π‘++ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ выраТСния, вычислСниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π΅Ρ‚ константу: Π² качСствС Π³Ρ€Π°Π½ΠΈΡ† массива (#8.4), Π² case выраТСниях (#9.7), Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (#8.3), ΠΈ Π² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°Ρ… (#8.6). Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ константы, ΡΠΈΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы, константы пСрСчислСний, значСния нСсостаных const, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… константными выраТСниями, ΠΈ sizeof выраТСния, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, связанныС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ опСрациями

+ – * / % amp; ! ^ Β«β€ž β€œΒ» == != Β« Β» Β«= Β»= amp; amp; !!

ΠΈΠ»ΠΈ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ опСрациями

+ – ~ !

ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

?:

Π‘ΠΊΠΎΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для группирования, Π½ΠΎ Π½Π΅ для Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях константноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡƒΠ½Π°Ρ€Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ amp;, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½ΡƒΡŽ ΠΊ внСшним ΠΈΠ»ΠΈ статичСским ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, ΠΈΠ»ΠΈ ΠΊ внСшним ΠΈΠ»ΠΈ статичСским массивам, индСксированным константным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Унарная опСрация amp; ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° нСявно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ употрСблСния ниндСксированных массивов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ОсновноС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈ вычислСнии Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°Π½Ρ‚Ρƒ ΠΈΠ»ΠΈ адрСс Ρ€Π°Π½Π΅Π΅ описанного внСшнСго ΠΈΠ»ΠΈ статичСского ΠΎΠ±ΠΉΠ΅ΠΊΡ‚Π° плюс ΠΈΠ»ΠΈ минус константа.

МСньшая ΡˆΠΈΡ€ΠΎΡ‚Π° допустима для константных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ послС #if: нСдопустимы ΠΈΠΌΠ΅Π½Π°, описанныС const, sizeof выраТСния ΠΈ пСрСчислимыС константы.

13. БообраТСния ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ части Π‘++ ΡΠ²Π»ΡΡŽΡ‚ΡΡ машинно зависимыми ΠΏΠΎ своСй сути. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½ΠΈΠΆΠ΅ список мСст Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π° ΠΏΠΎΠ»Π½ΠΎΡ‚Ρƒ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° основныС ΠΈΠ· Π½ΠΈΡ….

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

Число рСгистровых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ фактичСски ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² рСгистры, различаСтся ΠΎΡ‚ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΊ машинС, ΠΊΠ°ΠΊ ΠΈ мноТСство Π΄Π΅ΠΉΡΠ²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, всС компиляторы Π½Π° «своСй» машинС всС Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ; ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π½Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ описания register ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Π’ языкС Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ порядок вычислСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½Ρ†ΠΈΠΈ. На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… ΠΎΠ½ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Π° Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… справа Π½Π°Π»Π΅Π²ΠΎ. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ появлСния ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡΠ²Π»ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° int, Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ допустимы ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы. Однако конкрСтная рСализация ΠΎΡ‡Π΅Π½ΡŒ сильно зависит ΠΎΡ‚ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ порядок, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ символы ΠΏΡ€ΠΈΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ слову, различаСтся ΠΎΡ‚ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΊ машинС.

14. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ синтаксиса

Π­Ρ‚Π° краткая сводка синтаксиса Π‘++ прСдназначаСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ пониманию. Она Π½Π΅ являСтся Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠΊΠΎΠΉ языка.

14.1 ВыраТСния

Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Ρ‚Π΅Ρ€ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ бинарная_опСрация Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ? Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ : Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ список_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

список_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ список_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ , Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Ρ‚Π΅Ρ€ΠΌ: ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ унарная_опСрация Ρ‚Π΅Ρ€ΠΌ Ρ‚Π΅Ρ€ΠΌ ++ Ρ‚Π΅Ρ€ΠΌ – sizeof Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ sizeof ( имя_Ρ‚ΠΈΠΏΠ° ) ( имя_Ρ‚ΠΈΠΏΠ°) Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ простоС_имя_Ρ‚ΠΈΠΏΠ° ( список_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ) new имя_Ρ‚ΠΈΠΏΠ° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ opt new ( имя_Ρ‚ΠΈΠΏΠ° ) delete Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ delete [ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ] Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: id :: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ константа строка this ( Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅[ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ] ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ( список_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ opt ) ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.id ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-Β»id

id: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ typedef-имя :: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ typedef-имя :: имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

опСрация: унарная_опСрация бинарная_опСрация ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ_опСрация опСрация_свободной_памяти

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, ΡƒΠ±Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ порядкС:

бинарная_опСрация: ΠΎΠ΄Π½Π° ΠΈΠ· * / % + – Β«β€ž β€œΒ» Β« Β»

== != amp; ^ ! amp; amp; !! опСрация_присваивания

опСрация_присваивания: ΠΎΠ΄Π½Π° ΠΈΠ· = += -= *= /= %= ^= amp;= != »»= ««=

унарная_опСрация: ΠΎΠ΄Π½Π° ΠΈΠ· * amp; + – ~ ! ++ –

ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ_опСрация: ΠΎΠ΄Π½Π° ΠΈΠ· () []

опСрация_свободной_памяти: ΠΎΠ΄Π½Π° ΠΈΠ· new delete

имя_Ρ‚ΠΈΠΏΠ°: спСцификаторы_описания абстрактный_ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ

абстрактный_ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ: пустой * абстрактный_ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ абстрактный_ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ( список_описаний_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ) абстрактный_ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ [ константноС_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ opt ]

простоС_имя_Ρ‚ΠΈΠΏΠ°: typedef-имя char short int long unsigned float double void

typedef-имя: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

14.2 Описания

описаниС: спСцификаторы_описания opt список_описатСлСй opt ; описаниС_ΠΈΠΌΠ΅Π½ΠΈ asm-описаниС

описаниС_ΠΈΠΌΠ΅Π½ΠΈ: сост ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ; enum ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ;

сост:

class struct union

asm-описаниС: asm ( строка ) ;

спСцификаторы_описания: спСцификатор_описания спСцификаторы_описания opt

спСцификатор_описания: спСцификатор_класса_памяти спСцификатор_Ρ‚ΠΈΠΏΠ° спСцификатор_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ typedef friend

спСцификатор_Ρ‚ΠΈΠΏΠ°: простоС_имя_Ρ‚ΠΈΠΏΠ° спСцификатор_класса спСцификатор_enum услоТнСнный_спСцификатор_Ρ‚ΠΈΠΏΠ° const

спСцификатор_класса_памяти: auto extern register static

спСцификатор_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: inline overload virtual

услоТнСнный_спСцификатор_Ρ‚ΠΈΠΏΠ°: ΠΊΠ»ΡŽΡ‡ typedef-имя ΠΊΠ»ΡŽΡ‡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

ΠΊΠ»ΡŽΡ‡: class struct union enum

список_описатСлСй: ΠΈΠ½ΠΈΡ†-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ΠΈΠ½ΠΈΡ†-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ , список_описатСлСй

ΠΈΠ½ΠΈΡ†-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ: ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ opt

ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ: ΠΎΠΏ_имя ( ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ) * const opt ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ amp; const opt ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ

ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ( список_описаний_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ) ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ [ константноС_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ opt ]

ΠΎΠΏ_имя: простоС_ΠΎΠΏ_имя typedef-имя :: простоС_ΠΎΠΏ_имя

простоС_ΠΎΠΏ_имя: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ typedef-имя ~ typedef-имя имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_прСобразования

имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: operator опСрация

имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_прСобразования operator Ρ‚ΠΈΠΏ

список_описаний_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: список_описаний_ΠΏΡ€ΠΌ opt ... opt

список_описаний_ΠΏΡ€ΠΌ: список_описаний_ΠΏΡ€ΠΌ , описаниС_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° описаниС_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

описаниС_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: спСцификаторы_описания ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ спСцификаторы_описания ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = константноС_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ спСцификаторы_описания абстракт_ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ спСцификаторы_описания абстракт_ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

спСцификатор_класса: Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ_класса (* список_Ρ‡Π»Π΅Π½ΠΎΠ² opt *) Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ_класса (* список_Ρ‡Π»Π΅Π½ΠΎΠ² opt public : список_Ρ‡Π»Π΅Π½ΠΎΠ² opt *)

Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ_класса: сост ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ opt сост ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ opt : public opt typedef-имя

список_Ρ‡Π»Π΅Π½ΠΎΠ²: описаниС_Ρ‡Π»Π΅Π½Π° список_Ρ‡Π»Π΅Π½ΠΎΠ² opt

описаниС_Ρ‡Π»Π΅Π½Π°: спСцификаторы_описания opt ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ_Ρ‡Π»Π΅Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ opt ; ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ opt

ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ_Ρ‡Π»Π΅Π½Π°: ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ opt : константноС_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€: = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = (* список_ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² *) = (* список_ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² , *) ( список_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ )

список_ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ²: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ список_ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² , список_ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² (* список_ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² *)

спСцификатор_enum: enum ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ opt (* enum-список *)

enum-список: ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ enum-список , ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ

ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = константноС_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

14.3 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

составной_ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€: (* список_ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² opt *)