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

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

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

6.7 ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ

Π’Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ Ρ‚.Π΄. ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСобразовния.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° 0 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΈ грантируСтся, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ€ΠΎΠ΄ΠΈΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΎΡ‚Π»ΠΈΠ½Ρ‹ΠΉ ΠΎΡ‚ указатСля Π½Π° любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ любого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² void*.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° класс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс этого класса, см. #8.5.3.

Имя Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, описанный ΠΊΠ°ΠΊ «функция, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ ...Β», всСгда, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²Ρ‹Π·ΠΎΠ²Π΅, прСобразуСтся Π² Β«ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΡƒΡŽ ...Β».

6.8 ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ссылок

Π’Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ссылки, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.

Бсылка Π½Π° класс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ссылку Π½Π° ΠΎΡ‚Ρ€Ρ‹Ρ‚Ρ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс этого класса, см. #8.6.3.

7. ВыраТСния

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² выраТСнях Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ порядок Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅, наибольший ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ. Π’Π°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, выраТСния, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… говорится ΠΊΠ°ΠΊ ΠΎΠ± ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ + (#7.4) – это Ρ‚Π΅ выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΄Π΅Π»Π΅Π½Ρ‹ Π² ##7.1-7.4. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅ для рассматриваСмых Π² Π½Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ опрСдСляСтся ΠΈΡ… лСвая ΠΈΠ»ΠΈ правая Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ½ΠΎΡΡ‚ΡŒ (порядок ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ²). ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΈ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ½ΠΎΡΡ‚ΡŒ всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ собран вмСстС Π² описании Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π² #14.

Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях порядок вычислСния выраТСния Π½Π΅ΠΎΠΏΡ€Π΄Π΅Π»Π΅Π½. Π’ΠΎΡ‡Π½Π΅Π΅, компилятор Π²ΠΎΠ»Π΅Π½ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ подвыраТСния Π² Ρ‚ΠΎΠΌ

порядкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ считаСт Π±ΠΎΠ»Π΅Π΅ эффСктивным, Π΄Π°ΠΆΠ΅ Ссли повыраТСния Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ возникновСния ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½. ВыраТСния, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π² сСбя ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈ асссоциативныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (*, +, amp;, !, ^), ΠΌΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»Ρ‡ΠΈΠΈ скобок; для задания ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ порядка вычислСния враТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ²Π½ΡƒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

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

ΠšΡ€ΠΎΠΌΠ΅ стандартного значСния, описанного Π² #7.2-7.15, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹*, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Ρ‹ ΠΈΡ… значСния для случая ΠΈΡ… примСнСния ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ, опрСдСляСмым ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, см. #7.16.

– * Π­Ρ‚ΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ примСняСтся для описания использования Π² языкС ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ лСксСмы для обозначСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΄ΡƒΡ€; Π²ΠΈΠ΄ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ выбираСтся компилятором Π½Π° основании Π΄ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ числа ΠΈ Ρ‚ΠΈΠΏΠ° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚.ΠΏ. (ΠΏΡ€ΠΈΠΌ.ΠΏΠ΅Ρ€Π΅Π².)

7.1 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ выраТСния

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ выраТСния, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π² сСбя . , -Β» , индСксрованиС ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.

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

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

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

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ соотвСттвСнно описанноС (#8). Имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡ‚ΠΎΡ€ со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, см. #7.16 ΠΈ #8.5.1.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ::, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ области видимости, Π΅ΡΡ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ позволяСт ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°ΠΆΠ΅ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ скрыт (#4.1).

Typedef-имя (#8.8) , Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ::, послС Ρ‡Π΅Π³ΠΎ слСдуСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Typedef -имя Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ класс (#8.5), ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π»Π΅Π½ этого класса. Π•Π³ΠΎ Ρ‚ΠΈΠΏ спСцифицируСтся описаниСм ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. Typedef-имя ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скрыто ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ являСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΈΠΏΠ°. Π’ этом случаС typedef-имя всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π•Π΅ Ρ‚ΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ int, long ΠΈΠ»ΠΈ double Π² зависимости ΠΎΡ‚ Π΅Π΅ Ρ„ΠΎΡ€ΠΌΡ‹.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π•Π΅ Ρ‚ΠΈΠΏ – «массив символов». ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ сразу ΠΆΠ΅ прСобразуСтся Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π΅Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ (#6.7).

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово this являСтся локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡Π»Π΅Π½Π° (см. #8.5) . Оно являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ функция Π±Ρ‹Π»Π° Π²Ρ‹Π·Π²Π°Π½Π°.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, являСтся ΠΏΠ΅Π²ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‡Π΅ΠΉ Ρ‚ΠΈΠΏ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ Π½Π΅Π·Π°ΠΊΠ»Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² скобки выраТСния. НаличиС скобок Π½Π΅ влияСт Π½Π° Ρ‚ΠΎ, являСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ lvalue ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках, являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π˜Π½Ρ‚ΡƒΠΈΡ‚ΠΈΠ½Ρ‹ΠΉ смысл – индСкс. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Β«ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ...Β», ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ int ΠΈ Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π΅ΡΡ‚ΡŒ Β«...Β». Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π•1[Π•2] ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ (ΠΏΠΎ ΠΎΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ) Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ *((E1)+(E2)). ВсС Ρ‚ΠΎΠ½ΠΊΠΈΠ΅ мСста, Π½Π΅ΠΎΠ±Ρ…Π΄ΠΈΠΌΡ‹Π΅ для понимания этой записи, содСрТатся Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅ вмСстС с обсуТдСниСм Π² ## 7.1, 7.2 ΠΈ 7.4, соотвСтствСнно, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², * ΠΈ + ; Π½ΠΈΠΆΠ΅, Π² #8.4.2 приводятся слСдствия ΠΈΠ· этого.

Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ скобки, содСрТащиС список (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, пустой) Ρ€Π°Π·Π΄Π»Π΅Π½Π½Ρ‹Ρ… запятыми Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… фактичСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ «функция, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ ...Β» ΠΈΠ»ΠΈ Β«ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΡƒΡŽ ...Β», ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Β«...Β».

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ инициализируСтся фактичСским ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ (#8.6). Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ стандартныС (#6.6-8) ΠΈ опрСдляСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ прСобразования (#8.5.6). Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния своих Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½ΠΎ эти измСнния Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° значСния фактичСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случая, ΠΊΠΎΠ³Π΄Π° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ ссылочный Ρ‚ΠΈΠΏ.

Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ описана ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π°Ρ мСньшС ΠΈΠ»ΠΈ большС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‡Π΅ΠΌ спСцифицировано Π² описании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (#8.4). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ фактичСский ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° float, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΊ Ρ‚ΠΈΠΏΡƒ double; ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΈΠΌΠ΅Π½Π° массивов ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΊ указатСлям. ΠŸΠΎΡ€Π΄ΠΎΠΊ вычислСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ языком; ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ различия ΠΌΠ΅ΠΆΠ΄Ρƒ компиляторами.

Допустимы рСкурсивныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π»ΡŽΠ±Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ стоит Ρ‚ΠΎΡ‡ΠΊΠ°, Π·Π° ΠΊΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½Π½Ρ‹ΠΉ typedef-ΠΈΠΌΠ΅Π½Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ::) являСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса, Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π»Π΅Π½ этого класса. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ являСтся ΠΈΠΌΠ΅Π½Π²Π°Π½Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈ ΠΎΠ½ΠΎ являСтся адрСсным, Ссли ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ являСтся адрСсным. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ «классовыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹Β» ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ структурами (#8.5.12) ΠΈΠ»ΠΈ объСдинСниями (#8.5.13).

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ стоит стрСлка ( -Β»

), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΡƒΡ‚ΠΎΠ½Π΅Π½Π½Ρ‹ΠΉ typedef-ΠΈΠΌΠ΅Π½Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ::) являСтся Π²Ρ‹Ρ€Π°ΠΆΠ½ΠΈΠ΅ΠΌ. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класа, Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π»Π΅Π½ этого класса. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся адрСсом, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΌΡΡ Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‡Π»Π΅Π½ класса, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ, Π²Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ E1-Β»MOS Π΅ΡΡ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ (*E1).MOS. ΠšΠ»Π°ΡΡΡ‹ ΠΎΠ±ΡΡƒΠΆΠ΄ΡŽΡ‚ΡΡ Π² #8.5.

Если ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Β«ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ...Β» (см. #8.4 and #8.6.3), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ выраТСния Π±Ρ‹Π» ΠΎΠ±Π΅ΠΊΡ‚, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΡ‹ΠΉ ссылкой. Бсылку ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Ρ‚Π°, см. #8.6.3.

7.2 Π£Π½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ВыраТСния с ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ опСрациями Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ справа Π½Π°Π»Π²ΠΎ:

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