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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС STLΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 2

Автор Π‘ΠΊΠΎΡ‚Ρ‚ ΠœΠ΅ΠΉΠ΅Ρ€Ρ

РазумССтся, Π·Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» прилоТСния А слСдуСт ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ ΠœΡΡ‚Ρ‚Π° ΠžΡΡ‚Π΅Ρ€Π½Π°. ΠœΡΡ‚Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ» Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π² ΠΊΠ½ΠΈΠ³Ρƒ, Π½ΠΎ ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π» Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° стала Π΅Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°.

Изданию Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ тСхничСской ΠΊΠ½ΠΈΠ³ΠΈ всСгда ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°. МоСй ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ β€” Π΅Π΅ просмотрСла цСлая Π³Ρ€ΡƒΠΏΠΏΠ° Π²Ρ‹Π΄Π°ΡŽΡ‰ΠΈΡ…ΡΡ спСциалистов. Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ (Brian Kerninghan) ΠΈ ΠšΠ»ΠΈΡ„Ρ„ Π“Ρ€ΠΈΠ½ (Cliff Green) ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ€Π°Π½Π½ΠΈΠ΅ наброски, Π° ΠΏΠΎΠ»Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠ½ΠΈΠ³ΠΈ просматривали Π”ΡƒΠ³ Π₯аррисон, Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, Π’ΠΈΠΌ ДТонсон (Tim Johnson), Ѐрэнсис Глассборо (Francis Glassborough), АндрСй АлСксандрСску, Дэвид Π‘ΠΌΠΎΠ»Π»Π±Π΅Ρ€Π³, Аарон КэмпбСл (Aaron Campbell), Π”ΠΆΠ°Ρ€Π΅Π΄ Мэннинг (Jared Manning), Π₯Π΅Ρ€Π± Π‘Π°Ρ‚Ρ‚Π΅Ρ€, Π‘Ρ‚ΠΈΠ²Π΅Π½ Π”ΡŒΡŽ-хСрст (Stephen Dewhurst), ΠœΡΡ‚Ρ‚ ΠžΡΡ‚Π΅Ρ€Π½, Π“ΠΈΠ»Π»ΠΌΠ΅Ρ€ Π”Π΅Ρ€Π΄ΠΆ (Gillmer Derge), Аарон ΠœΡƒΡ€ (Aaron Moore), Вомас Π‘Π΅ΠΊΠ΅Ρ€ (Thomas Becker), Π’ΠΈΠΊΡ‚ΠΎΡ€ Π’ΠΎΠ½ (Victor Von) ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠœΠ°Ρ€ΠΊ РодТСрс. Π Π΅Π΄Π°ΠΊΡ‚ΡƒΡ€Π° Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠšΠ°Ρ‚Ρ€ΠΈΠ½ΠΎΠΉ Π­Π²Π΅Ρ€ΠΈ (Katrina Avery).

Π’ процСссС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ тСхничСского Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Π― Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π”ΠΆΠΎΠ½Ρƒ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€Ρƒ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ» мСня с Π”ΠΆΠ°Ρ€Π΅Π΄ΠΎΠΌ Мэннингом ΠΈ Аароном КэмпбСллом.

Π₯Π΅Ρ€Π± Π‘Π°Ρ‚Ρ‚Π΅Ρ€ любСзно согласился ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΌΠ½Π΅ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ тСстовыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ STL Π² Π±Π΅Ρ‚Π°-вСрсии Microsoft Visual Studio .NET, Π° Π›Π΅ΠΎΡ€ Π—ΠΎΠ»ΠΌΠ°Π½ (Leor Zolman) взял Π½Π° сСбя гСркулСсов Ρ‚Ρ€ΡƒΠ΄ ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ всСго ΠΊΠΎΠ΄Π° Π² ΠΊΠ½ΠΈΠ³Π΅. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, всС ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ошибки находятся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΌΠΎΠ΅ΠΉ отвСтствСнности.

АнТСлика Π›Π°Π½Π³Π΅Ρ€ ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° ΠΌΠ½Π΅ Π³Π»Π°Π·Π° Π½Π° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… аспСктов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ STL. Π’ этой ΠΊΠ½ΠΈΠ³Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ удСляСтся мСньшС внимания, Ρ‡Π΅ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹, Π½ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, всС сказанноС с большой Π΄ΠΎΠ»Π΅ΠΉ вСроятности останСтся истинным ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Π’ΠΎ всяком случаС, я Π½Π° это надСюсь.

ΠŸΠ΅Ρ‡Π°Ρ‚Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ настоящСй ΠΊΠ½ΠΈΠ³ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ…, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ β€” Π”ΠΆΠΎΠ½ Уэбб (John Webb), Майкл Π₯окинс (Michael Hawkins), Π”Π΅Ρ€Π΅ΠΊ ΠŸΡ€Π°ΠΉΡ (Derek Price) ΠΈ Π”ΠΆΠΈΠΌ Π¨Π΅Π»Π»Π΅Ρ€ (Jim Scheller) β€” ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСдостатки. Π― Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ ΠΈΠΌ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ Β«Effective STLΒ».

Π‘Ρ€Π΅Π΄ΠΈ ΠΌΠΎΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³ Π² ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅ Addison-Wesley Π±Ρ‹Π»ΠΈ Π”ΠΆΠΎΠ½ Уэйт Qohn Wait), Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π° Π½Ρ‹Π½Π΅ Π²ΠΈΡ†Π΅-ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚, Π΅Π³ΠΎ замСститСли Алисия ΠšΡΡ€ΠΈ (Alicia Carey) ΠΈ Бюзанна Π‘ΡƒΠ·Π°Ρ€Π΄ (Susannah Buzard), ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π”ΠΆΠΎΠ½ Π€ΡƒΠ»Π»Π΅Ρ€ (John Fuller), Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊ ΠšΠ°Ρ€ΠΈΠ½ Π₯ансСн (Karin Hansen), тСхничСский Π³ΡƒΡ€Ρƒ ДТСйсон ДТонс (Jason Jones), особСнно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉΡΡ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… Adobe, ΠΈΡ… Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊ ΠœΠ°Ρ€Ρ‚ΠΈ Π Π°Π±ΠΈΠ½ΠΎΠ²ΠΈΡ† (Marty Rabinowitz), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠšΡƒΡ€Ρ‚ ДТонсон (Curt Johnson), Π§Π°Π½Π΄Π° Π›ΠΈΡ€ΠΈ-ΠšΡƒΡ‚Ρƒ (Chanda Leary-Coutu) ΠΈ Π ΠΎΠ±ΠΈΠ½ Π‘Ρ€ΡŽΡ (Robin Bruce) β€” спСциалисты ΠΏΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Ρƒ, Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ люди.

Π­Π±Π±ΠΈ Π‘Ρ‚Π΅ΠΉΠ»ΠΈ (Abby Staley) сдСлала ΠΌΠΎΠΈ воскрСсныС ΠΎΠ±Π΅Π΄Ρ‹ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌ, Π½ΠΎ приятным Π΄Π΅Π»ΠΎΠΌ.

Как ΠΈ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ ΡˆΠ΅ΡΡ‚ΡŒΡŽ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-диском, моя ΠΆΠ΅Π½Π° Нэнси Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²ΠΎ сносила мою Ρ…Ρ€ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Π½ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π»Π° свою ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° я Π² Π½ΠΈΡ… большС всСго нуТдался. Она постоянно Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»Π° ΠΌΠ½Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΆΠΈΠ·Π½ΠΈ Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‰ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅ C++ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Π½Π°ΡˆΡƒ собаку ΠŸΠ΅Ρ€ΡΠ΅Ρ„ΠΎΠ½Ρƒ. Π’ дСнь, ΠΊΠΎΠ³Π΄Π° я ΠΏΠΈΡˆΡƒ эти строки, Π΅ΠΉ исполняСтся ΡˆΠ΅ΡΡ‚ΡŒ Π»Π΅Ρ‚. БСгодня ΠΌΡ‹ с Нэнси ΠΈ ΠŸΠ΅Ρ€ΡΠ΅Ρ„ΠΎΠ½ΠΎΠΉ отправимся Π² «Баскин-Роббинс». Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠŸΠ΅Ρ€ΡΠ΅Ρ„ΠΎΠ½Π΅ достанСтся ΠΎΠ΄ΠΈΠ½ ΡˆΠ°Ρ€ΠΈΠΊ ванильного ΠΌΠΎΡ€ΠΎΠΆΠ΅Π½ΠΎΠ³ΠΎ Π² Π²Π°Ρ„Π΅Π»ΡŒΠ½ΠΎΠΌ стаканчикС.

ΠžΡ‚ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°

Π’Π°ΡˆΠΈ замСчания, прСдлоТСния, вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ русского издания этой ΠΊΠ½ΠΈΠ³ΠΈ, отправляйтС ΠΏΠΎ адрСсу элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ [email protected] (ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Β«ΠŸΠΈΡ‚Π΅Ρ€Β», ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ рСдакция).

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π΄Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ вашС ΠΌΠ½Π΅Π½ΠΈΠ΅!

На web-сайтС ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° http://www.piter.com Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π°ΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³Π°ΠΊ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с STL. Π’Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ… содСрТимоС, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ find ΠΈ sort. Но Π²Ρ‹ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Π΄Π΅Π»Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ впСчатлСния, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ лишь ΠΌΠ°Π»ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ возмоТностСй STL. Π—Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒΡΡ просто, Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ слоТно; ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ просто ΠΈ прямолинСйно, приводят ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ рСсурсов ΠΈΠ»ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя нСпрСдсказуСмо. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с максимальной ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΠΎΠ³Π»ΠΎΡ‰Π°ΡŽΡ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ памяти, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ. Π”Π°, Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ STL, Π½ΠΎ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π΅ эффСктивно.

Π― написал эту ΠΊΠ½ΠΈΠ³Ρƒ для вас.

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

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² эту ΠΊΠ½ΠΈΠ³Ρƒ, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² STL. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ станСт Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ интСрСсным занятиСм. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с STL интСрСсно, Π½ΠΎ эффСктивная Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ β€” занятиС Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ просто Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΡ€Π²Π°Ρ‚ΡŒΡΡ. Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π±Π΅Π³Π»ΠΎΠΌ взглядС Π½Π° STL становится ясно, Ρ‡Ρ‚ΠΎ это Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π½ΠΎ Π΅Π΅ достоинства Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡˆΠΈΡ€Π΅ ΠΈ Π³Π»ΡƒΠ±ΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ сСбС ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ. Π― занимаюсь ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ»ΠΎ 30 Π»Π΅Ρ‚, Π½ΠΎ я Π΅Ρ‰Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ встрСчал Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° STL.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, использованиС ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ STL

Π£ STL Π½Π΅ сущСствуСт ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния, ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΡ€Ρ‹ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ Π² этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Ρ€Π°Π·Π½Ρ‹ΠΉ смысл. Π’ этой ΠΊΠ½ΠΈΠ³Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«STLΒ» относится ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C++, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. К этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ относятся стандартныС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ string), части Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π’ Π½Π΅Π΅ Π½Π΅ входят Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ стандартных ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² (stack, queue ΠΈ priorityqueue), ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ bitset ΠΈ valarray, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ массивы. Π₯отя массивы ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ языка C++, Π° Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

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

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π±Ρ‹Π»Π° Π·Π°Π»ΠΎΠΆΠ΅Π½Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ STL Π²ΠΎ врСмя проСктирования. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² этой ΠΊΠ½ΠΈΠ³Π΅ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся использованию STL, Π° Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊ, Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сказано ΠΎ написании собствСнных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². На ΠΌΠΎΠΉ взгляд, сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности STL. Π­Ρ‚ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅ ΠΈ посвящСна данная ΠΊΠ½ΠΈΠ³Π°. Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π·Π°Π½ΡΡ‚ΡŒΡΡ созданиСм STL-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΊΠ½ΠΈΠ³Π°Ρ… ДТосаттиса Β«The C++ Standard LibraryΒ» [3] ΠΈ ΠžΡΡ‚Π΅Ρ€Π½Π° Β«Generic Programming and the STLΒ» [4]. Π’ этой ΠΊΠ½ΠΈΠ³Π΅ упоминаСтся лишь ΠΎΠ΄ΠΈΠ½ аспСкт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ STL β€” написаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС STL Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, поэтому этой Ρ‚Π΅ΠΌΠ΅ Π² ΠΊΠ½ΠΈΠ³Π΅ посвящСна вся Π³Π»Π°Π²Π° 6.

Бсылки

Бсылки Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ ДТосаттиса ΠΈ ΠžΡΡ‚Π΅Ρ€Π½Π° Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Π°Π±Π·Π°Ρ†Π΅ Π΄Π°ΡŽΡ‚ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π² этой ΠΊΠ½ΠΈΠ³Π΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡŽΡ‚ΡΡ библиографичСскиС ссылки. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, я ΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ссылку достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ ΡƒΠ·Π½Π°Π»ΠΈ люди, ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ с этим Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ. Если Π²Ρ‹ ΡƒΠΆΠ΅ Ρ‡ΠΈΡ‚Π°Π»ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ этих Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², Π²Π°ΠΌ Π½Π΅ придСтся ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ Β«Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°Β» ΠΈ Π²Ρ‹ΡΡΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ скрываСтся Π·Π° ссылками [3] ΠΈ [4]. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² спискС Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠΎΠ»Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’Ρ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ часто, Ρ‡Ρ‚ΠΎ Π½ΠΎΠΌΠ΅Ρ€ ссылки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ указываСтся. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΈΠ· Π½ΠΈΡ…, ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ стандарт C++ [5], Π² ΠΊΠ½ΠΈΠ³Π΅ имСнуСтся просто Β«Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΎΠΌΒ». Π”Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” ΠΌΠΎΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎ C++, Β«Effective C++Β» [1] ΠΈ Β«More Effective C++Β» [2].

STL ΠΈ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹

Π’ ΠΊΠ½ΠΈΠ³Π΅ я часто ΡΡΡ‹Π»Π°ΡŽΡΡŒ Π½Π° Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ C++, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся пСрСносимой, стандартной вСрсии C++. ВСорСтичСски всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΠ½ΠΈΠ³Π΅, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΎ всСх рСализациях C++. К соТалСнию, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ Ρ‚Π°ΠΊ. ВслСдствиС Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² компиляторах ΠΈ рСализациях STL Π΄Π°ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ компилируСтся ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ. Π’ самых Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… случаях описываСтся ΡΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Иногда самый простой Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ STL (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π‘). Π§Π΅ΠΌ большС Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с STL, Ρ‚Π΅ΠΌ Π²Π°ΠΆΠ½Π΅Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ компилятор ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Когда Ρƒ программиста Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с компиляциСй ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠ½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΈΠ½ΠΈΡ‚ Π²ΠΎ всСм компилятор. Однако ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с STL компилятор ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ порядкС, Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ связанными с ошибками Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊΠ°ΠΊ ΠΎΡ‚ компилятора, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° STLΒ», ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ понимаСтся комбинация ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ компилятора с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ STL. Если Π² ΠΊΠ½ΠΈΠ³Π΅ говорится ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ компилятора, Π·Π½Π°Ρ‡ΠΈΡ‚, Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ компилятор. Но Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ STL, это слСдуСт ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ: Β«Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ Ρ‚ΠΎ Π»ΠΈ компилятор, Ρ‚ΠΎ Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π° ΠΌΠΎΠΆΠ΅Ρ‚, ΠΈ Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅Β».