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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ программирования Π½Π° Π‘++. 101 ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈ рСкомСндация». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 62

Автор Π“Π΅Ρ€Π± Π‘Π°Ρ‚Ρ‚Π΅Ρ€

Возраст Π½Π΅ всСгда ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΌΡƒΠ΄Ρ€ΠΎΡΡ‚ΡŒ. Π‘Ρ‚Π°Ρ€ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² стилС Π‘ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ (ΠΈ часто ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ) сСмантику Π² зависимости ΠΎΡ‚ контСкста, ΡΠΏΡ€ΡΡ‚Π°Π½Π½ΡƒΡŽ Π·Π° Π΅Π΄ΠΈΠ½Ρ‹ΠΌ синтаксисом. Π—Π°ΠΌΠ΅Π½Π° прСобразования Ρ‚ΠΈΠΏΠΎΠ² Π² стилС Π‘ прСобразованиями Π‘++ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ошибок.

96. ΠΠ΅ примСняйтС memcpy ΠΈΠ»ΠΈ memcmp ΠΊ Π½Π΅-POD Ρ‚ΠΈΠΏΠ°ΠΌ

НС Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ рСнтгСновским Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΠΎΠΌ (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 91). НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ memcpy ΠΈ memcmp для копирования ΠΈΠ»ΠΈ сравнСния Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ структурированного Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ обычная ΠΏΠ°ΠΌΡΡ‚ΡŒ.

97. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ объСдинСния для ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ

Π₯ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒ всС Ρ€Π°Π²Π½ΠΎ остаСтся лоТью: объСдинСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для получСния "прСобразования Ρ‚ΠΈΠΏΠ° Π±Π΅Π· прСобразования ", записывая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΎΠ΄ΠΈΠ½ Ρ‡Π»Π΅Π½ ΠΈ считывая ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Однако это Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ опасно ΠΈ ΠΌΠ΅Π½Π΅Π΅ прСдсказуСмо, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ reinterpret_cast (см. Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ 92).

98. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ нСизвСстныС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ (троСточия)

НаличиС Ρ‚Ρ€ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠΉ Π² Π‘++ β€” опасноС наслСдиС Π‘. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΈΡ… Π² своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ вмСсто этого высокоуровнСвыС конструкции ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘++.

99. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ нСбСзопасныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’Ρ‹ ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ просрочСнныС лСкарства? И Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈ "Π°Π½Ρ‚ΠΈΠΊΠ²Π°Ρ€Π½Ρ‹Π΅ ", Π½ΠΎ нСбСзопасныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ способны Π½Π°Π²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡŽ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

100. ΠΠ΅ рассматривайтС массивы ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½ΠΎ

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с массивами β€” большая ошибка. К соТалСнию, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ компилятор Π½ΠΈΠΊΠ°ΠΊ Π½Π° Π½Π΅Π΅ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚. НС ΠΏΠΎΠΏΠ°Π΄Π°ΠΉΡ‚Π΅ΡΡŒ Π² эту Π»ΠΎΠ²ΡƒΡˆΠΊΡƒ!

ΠžΡ‚ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° "Π’ΠΈΠ»ΡŒΡΠΌΡ"

Π’Ρ‹, Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ этой ΠΊΠ½ΠΈΠ³ΠΈ, ΠΈ Π΅ΡΡ‚ΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΉ Π΅Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΠΊ. ΠœΡ‹ Ρ†Π΅Π½ΠΈΠΌ вашС ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΈ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано Π½Π°ΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ·Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°ΠΌΠΈ. Нам интСрСсно ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ замСчания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π²Ρ‹ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π² наш адрСс.

ΠœΡ‹ ΠΆΠ΄Π΅ΠΌ Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ надССмся Π½Π° Π½ΠΈΡ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ»Π°Ρ‚ΡŒ Π½Π°ΠΌ Π±ΡƒΠΌΠ°ΠΆΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ элСктронноС письмо Π»ΠΈΠ±ΠΎ просто ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ наш Web-сСрвСр ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свои замСчания Ρ‚Π°ΠΌ. Одним словом, Π»ΡŽΠ±Ρ‹ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для вас способом Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ Π·Π½Π°Ρ‚ΡŒ, нравится Π»ΠΈ Π²Π°ΠΌ эта ΠΊΠ½ΠΈΠ³Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ выскаТитС своС ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ наши ΠΊΠ½ΠΈΠ³ΠΈ Π±ΠΎΠ»Π΅Π΅ интСрСсными для вас.

ΠŸΠΎΡΡ‹Π»Π°Ρ письмо ΠΈΠ»ΠΈ сообщСниС, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Π΅Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ваш ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ адрСс. ΠœΡ‹ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ознакомимся с вашим ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‡Ρ‚Π΅ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π΅ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΠΊ изданию ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ½ΠΈΠ³. Наши ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹:

 E-mail: [email protected]

 WWW: http://www.williamspublishing.com

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ для писСм ΠΈΠ·

 Π ΠΎΡΡΠΈΠΈ: 115419, Москва, Π°/я 783

 Π£ΠΊΡ€Π°ΠΈΠ½Ρ‹: 03150, КиСв, Π°/я 152

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

1

БистСма, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² общСствС опрСдСляСтся Π΅Π³ΠΎ способностями. β€” ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².

2

Nefarious β€” нСчСстивый, гнусный (Π°Π½Π³Π».). β€” ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².

3

Поиск, зависящий ΠΎΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (см. стр. 118). β€” ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².

4

Checked implementation β€” ΠΏΠΎΠ΄ этим подразумСваСтся рСализация STL с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния стандарта. β€” ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².

5

ΠΠ΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ POD ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ любой Ρ‚ΠΈΠΏ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой Π½Π°Π±ΠΎΡ€ простых Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ функциями-Ρ‡Π»Π΅Π½Π°ΠΌΠΈ для удобства. Говоря Π±ΠΎΠ»Π΅Π΅ строго, POD прСдставляСт собой класс ΠΈΠ»ΠΈ объСдинСниС, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ конструктора, ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ присваивания, ΠΈ дСструктора, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅Ρ‚ (нСстатичСских) Ρ‡Π»Π΅Π½ΠΎΠ²-Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ ссылками, указатСлями Π½Π° Ρ‡Π»Π΅Π½Ρ‹ ΠΈΠ»ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ POD. β€” ΠŸΡ€ΠΈΠΌ. Ρ€Π΅Π΄.