s.replace(11, 3, "Fifth"); // s == "Π‘++ Primer Fifth Ed."
Π ΡΡΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΈΡ Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΡΡΡ.
Π’Π°Π±Π»ΠΈΡΠ° 9.13. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΡΠΎΠΊΠΈ
s.insert(pos, args) ΠΡΡΠ°Π²ΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ args, ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ pos. ΠΠΎΠ·ΠΈΡΠΈΡ pos ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. ΠΠ΅ΡΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠΎΠΊΡ s, Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» s.erase(pos, len) Π£Π΄Π°Π»ΡΠ΅Ρ len ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ pos. ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ len ΠΏΡΠΎΠΏΡΡΠ΅Π½, ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ pos Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ s. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠΎΠΊΡ s s.assign(args) ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ s ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ args. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠΎΠΊΡ s s.append(args) ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ args ΠΊ ΡΡΡΠΎΠΊΠ΅ s. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠΎΠΊΡ s s.replace(range, args) Π£Π΄Π°Π»ΡΠ΅Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ range ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΡΡΡΠΎΠΊΠΈ s ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ args. ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π°Π΄Π°Π½ Π»ΠΈΠ±ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ, Π»ΠΈΠ±ΠΎ ΠΏΠ°ΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠΎΠΊΡ s ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ args ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ : ΡΡΠ½ΠΊΡΠΈΠΈ append() ΠΈ assign() ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΡΠΌΡ. Π‘ΡΡΠΎΠΊΠ° str Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½Π° ΠΎΡ s, Π° ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ b ΠΈ Π΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΡΡΡΠΎΠΊΠ΅ s str Π‘ΡΡΠΎΠΊΠ° str str, pos, len ΠΠΎ len ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΡΡΡΠΎΠΊΠΈ str, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ pos cp, len ΠΠΎ len ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ cp cp ΠΠ°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ cp n, c n ΠΊΠΎΠΏΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Π° Ρ b, e Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ b ΠΈ Π΅ Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ args Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ replace() ΠΈ insert() Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ replace(pos,len,args) replace(b,Π΅,args) insert(pos,args) insert(iter,args) ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ args ΠΠ° ΠΠ° ΠΠ° ΠΠ΅Ρ str ΠΠ° ΠΠ΅Ρ ΠΠ° ΠΠ΅Ρ str, pos, len ΠΠ° ΠΠ° ΠΠ° ΠΠ΅Ρ cp, len ΠΠ° ΠΠ° ΠΠ΅Ρ ΠΠ΅Ρ cp ΠΠ° ΠΠ° ΠΠ° ΠΠ° n, Ρ ΠΠ΅Ρ ΠΠ° ΠΠ΅Ρ ΠΠ° b2, e2 ΠΠ΅Ρ ΠΠ° ΠΠ΅Ρ ΠΠ° ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠΎΠΊΡΠ€ΡΠ½ΠΊΡΠΈΠΈ append(), assign(), insert() ΠΈ replace(), ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π». 9.13, ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ. ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°Π΄Π°Π½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ ΠΊΠ°ΠΊΠ°Ρ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ. Π ΡΡΠ°ΡΡΡΡ, Ρ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
Π£ ΡΡΠ½ΠΊΡΠΈΠΉ assign() ΠΈ append() Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ: ΡΡΠ½ΠΊΡΠΈΡ assign() Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠΎΠΊΠΈ, Π° ΡΡΠ½ΠΊΡΠΈΡ append() Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ replace() ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈ Π΄Π»ΠΈΠ½Π΅ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ². Π€ΡΠ½ΠΊΡΠΈΡ insert() ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ: ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ (ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ) Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΡ Π² ΡΡΡΠΎΠΊΡ. ΠΠΎΠ²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π·ΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΈΠ· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ», ΠΈΠ· Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠΏΠΈΡΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ. ΠΠΎΠ³Π΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΡΡ ΠΎΠ΄ΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅, ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π»ΠΈ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ.
ΠΠ΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Ρ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ insert(), ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΡΠΊΡ Π²ΡΡΠ°Π²ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΊΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π° 9.5.2Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 9.43. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ: s, oldVal ΠΈ newVal. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ insert(), ΠΈ erase() Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΡΡΡΠΎΠΊΠ΅ s ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΡΠΎΠΊΠΈ oldVal ΡΡΡΠΎΠΊΠΎΠΉ newVal. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ "tho" Π½Π° "though" ΠΈ "thru" Π½Π° "through".
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 9.44. ΠΠ΅ΡΠ΅ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ replace().
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 9.45. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΡΡΡΠΎΠΊΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΠΌΡ ΠΈ Π΄Π²Π΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡ, ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ "Mr." ΠΈΠ»ΠΈ "Ms.", Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΡΠΈΠΊΡ, ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ "Jr." ΠΈΠ»ΠΈ "III". ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ insert() ΠΈ append(), ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΡΡΡΡΠΈΠΊΡΠΎΠΌ ΠΈ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 9.46. ΠΠ΅ΡΠ΅ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π° ΡΠ΅ΠΉ ΡΠ°Π· ΠΏΠΎΠ·ΠΈΡΠΈΡ, Π΄Π»ΠΈΠ½Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ insert().
9.5.3. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΡΠΎΠΊ
ΠΠ»Π°ΡΡ string ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊΠ°, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΠ΅ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π±Π». 9.14. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° string::size_type, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅Π½ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 7.6) ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ string::npos. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ npos ΠΊΠ°ΠΊ -1 ΡΠΈΠΏΠ° const string::size_type. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ npos ΠΈΠΌΠ΅Π΅Ρ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΏ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ npos ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±Π°Ρ ΡΡΡΠΎΠΊΠ° (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 2.1.2).
Π’Π°Π±Π»ΠΈΡΠ° 9.14. Π‘ΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ°
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ npos, Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ s.find(args) ΠΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° args Π² ΡΡΡΠΎΠΊΠ΅ s s.rfind(args) ΠΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° args Π² ΡΡΡΠΎΠΊΠ΅ s s.find_first_of(args) ΠΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° args Π² ΡΡΡΠΎΠΊΠ΅ s s.find_last_of(args) ΠΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° args Π² ΡΡΡΠΎΠΊΠ΅ s s.find_first_not_of(args) ΠΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΡΡΠΎΠΊΠ΅ s, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ args s.find_last_not_of(args) ΠΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΡΡΠΎΠΊΠ΅ s, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ args ΠΡΠ³ΡΠΌΠ΅Π½Ρ args ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Ρ, pos ΠΠΎΠΈΡΠΊ ΡΠΈΠΌΠ²ΠΎΠ»Π° Ρ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ pos Π² ΡΡΡΠΎΠΊΠ΅ s. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ pos ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 s2, pos ΠΠΎΠΈΡΠΊ ΡΡΡΠΎΠΊΠΈ s2, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ pos Π² ΡΡΡΠΎΠΊΠ΅ s. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ pos ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 cp, pos ΠΠΎΠΈΡΠΊ ΡΡΡΠΎΠΊΠΈ Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΌ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ Π² ΡΡΠΈΠ»Π΅ Π‘, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ cp. ΠΠΎΠΈΡΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ pos Π² ΡΡΡΠΎΠΊΠ΅ s. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ pos ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 cp, pos, n ΠΠΎΠΈΡΠΊ ΠΏΠ΅ΡΠ²ΡΡ n ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ cp. ΠΠΎΠΈΡΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ pos Π² ΡΡΡΠΎΠΊΠ΅ s. ΠΡΠ³ΡΠΌΠ΅Π½Ρ pos ΠΈ n Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡΠ€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΡΠΎΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° string::size_type. ΠΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° int ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 2.1.2).