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

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

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

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ инициализируСтся фактичСским ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ (#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; β€“ ! ~ ++ –

Унарная опСрация * ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ косвСнноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ lvalue, ΡΡΡ‹Π»Π°ΡŽΡ‰Π΅Π΅ΡΡ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Β«ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ...Β», Ρ‚ΠΎ Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π΅ΡΡ‚ΡŒ Β«...Β».

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΡƒΠ½Π°Ρ€Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ amp; являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся ΠΎΠΏΠ΅Ρ€Π°Π½Π΄. ΠžΠΏΠ΅Ρ€Π°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ lvalue. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Β«...Β», Ρ‚ΠΎ Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π΅ΡΡ‚ΡŒ Β«ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ...Β».

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΡƒΠ½Π°Ρ€Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ + являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π΅ ΠΎΠΏΡ€Π°Π½Π΄Π° послС выполнСния ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… арифмСтичСских ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. ΠžΠΏΠ΅Ρ€Π°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ арифмСтичСского Ρ‚ΠΈΠΏΠ°.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΡƒΠ½Π°Ρ€Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ – являСтся ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. ΠžΠΏΠ΅Ρ€Π°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π’Ρ‹ΠΏΠΎΠ½ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ арифмСтичСскиС прСобразования. ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ вычислятся посрСдством вычитния Π΅Π΅ значСния ΠΈΠ· 2n, Π³Π΄Π΅ n -число Π±ΠΈΡ‚ΠΎΠ² Π² Ρ†Π΅Π»ΠΎΠΌ Ρ‚ΠΈΠΏΠ° int.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ логичСского отрицания ! являСтся 1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° 0, ΠΈ 0, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π½Π΅ 0. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ int. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ арифмСтичСскому Ρ‚ΠΈΠΏΡƒ ΠΈΠ»ΠΈ ΠΊ указатСлям.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ~ Π΄Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ значСния ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π΄ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ арифмСтичСскиС прСобразования. ΠžΠΏΠ΅Ρ€Π°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ цСлочислСнный Ρ‚ΠΈΠΏ.

7.2.1 Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈ УмСньшСниС

ΠžΠΏΠ΅Ρ€Π°Π½Π΄ прСфиксного ++ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅. ΠžΠΏΠ΅Ρ€Π°Π½Π΄ Π΄ΠΎΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ адрСсным . Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ являСтся Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Π΄Π°, Π½ΠΎ ΠΎΠ½ΠΎ Π½Π΅ адрСсноС. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ++x эквивалСнтно x+=1. По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ прСобразованиях см. обсуТдСниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слТСния (#7.4) ΠΈ присваивания (#7.14).

ΠžΠΏΠ΅Ρ€Π°Π½Π΄ прСфиксного – ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ прСфиксной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ++.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈ использовании постфиксного ++, Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. ΠžΠΏΠ΅Ρ€Π°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ адрСсным. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ увСличиваСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² прСфиксной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ++. Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈ использовании постфиксной –, Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. ΠžΠΏΠ΅Ρ€Π°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ адрСсным. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ увСличиваСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² прСфиксной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ++. Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.

7.2.2 Sizeof

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

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ sizeof ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌΡƒ Π² скобки ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏΠ°. Π’ этом случаС ΠΎΠ½Π° Π΄Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π² Π±Π°ΠΉΡ‚Π°Ρ…, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

7.2.3 Π―Π²Π½ΠΎΠ΅ ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π’ΠΈΠΏΠ°

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅_имя_Ρ‚ΠΈΠΏΠ° (#8.2), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ Π² скобки, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Π΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ Π² скобки Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ спсок_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ссли Ρ‚ΠΈΠΏ являСтся классом с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ описанным конструктором #8.5.5) Π²Π»Π΅Ρ‡Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния выраТСния Π² Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·Π²Π°Π½ΠΈΠ΅ Π² Ρ‚ΠΈΠΏ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ простого ΠΈΠΌΠ΅Π½ΠΈ, имя_Ρ‚ΠΈΠΏΠ° (#8.7) Π΄ΠΎΠ»Π½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² скобки. Если имя Ρ‚ΠΈΠΏΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² скобки, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² скобки Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Вакая запись нзываСтся ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Ρ‚ΠΈΠΏΡƒ.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ явно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· цСлчислСнных Ρ‚ΠΈΠΏΠΎΠ², достаточно ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ для Π΅Π³ΠΎ хранСния. Π’ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· int ΠΈ long трСбуСтся, являСтся машинно зависимым. ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π°Ρ функция Ρ‚Π°ΠΊΠΆΠ΅ являСтся машинно зависимой, Π½ΠΎ прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ содСрТит ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠ² для Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚ структуру адрСсации Π² машинС. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… машин Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² #2.6.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ цСлочислСнного Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ явно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ функция всСгда ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠ· указатСля, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π½ΠΎ Π² ΠΎΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях являСтся машинно зависимой.

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π±Ρ‹Π» описан ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ конструктор ΠΈΠ»ΠΈ опСрация пробразования (#8.5.6).

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ явно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ссылочный Ρ‚ΠΈΠΏ amp;X, Ссли ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ явно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² X*.

7.2.4 Бвободная ΠŸΠ°ΠΌΡΡ‚ΡŒ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ new создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° имя_Ρ‚ΠΈΠΏΠ° (см. #8.7), ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½. ВрСмя ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, созданного с ΠΏΠΌΠΎΡ‰ΡŒΡŽ new, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ создан. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ new Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° созданный Π΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Когда ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся массивом, возвращаСтся ΡƒΠΊΠ°Π·Π΅Ρ‚Π»ΡŒ Π½Π° Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт. НапримСр, ΠΈ new int ΠΈ new int[10] Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ int*. Для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… классов Π½Π°Π΄ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ (#8.6.2). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ new (#7.2) для полчСния памяти Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

void* operator new (long);

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ число Π±Π°ΠΉΡ‚ΠΎΠ². ΠŸΠ°ΠΌΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°. Если operator new() Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠΌΠΎΠ΅ количСство памяти, Ρ‚ΠΎ ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ноль.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ delete ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, созданный ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ new. Π•Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ являСтся void. ΠžΠΏΠ΅Ρ€Π°Π½Π΄ delete Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹ΠΌ new. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ примСнСния delete ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ new. Онако ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ delete указатСля со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ноль Π±Π΅Π·Π²Ρ€Π΅Π΄Π½ΠΎ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, опСрация delete Π²Ρ‹Π·Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

void operator delete (void*);

Π’ Ρ„ΠΎΡ€ΠΌΠ΅

delete [ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ] Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€, Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π΅Ρ‚ число элСмСнтов этого Π²Π΅ΠΊΡ‚ΠΎΡ€Π°. Π—Π°Π΄Π°Π½ΠΈΠ΅ числа элСмСнтов являСтся ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв уничтоТСния Π²Π΅ΠΊΡ‚Ρ€ΠΎΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… классов, см. #8.5.8.

7.3 ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ *, / ΠΈ % Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ арифмСтичСскиС прСобразования.

ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ΅_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ * Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ / Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ % Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Бинарная опСрация * опрСдСляСт ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ * ассоциативна ΠΈ выраТСния с нСсколькими умноТСниями Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ компилятором. Бинарная опСрация / опрСдСляСт Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ осущСствляСтся Π² сторону 0, Π½ΠΎ Ссли ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»Π΅Π½, Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° округлСния являСтся машинно зависимой. На всСх ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹ΠΌ руководством, остаток ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π΅Π»ΠΌΠΎΠ΅. ВсСгда истиинно, Ρ‡Ρ‚ΠΎ (a/b)*b + a%b Ρ€Π°Π²Π½ΠΎ a (Ссли b Π½Π΅ 0).