// ΠΈΡΠΊΠ°ΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ia[1] ΠΈ Π΄ΠΎ, Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Ρ, ia[4]
auto result = find(ia +1, ia + 4, val);
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΠ·ΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ find(). ΠΠ΅ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π½Π΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΡ find() Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
1. ΠΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
2. Π‘ΡΠ°Π²Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΈΡΠΊΠΎΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
3. ΠΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΡΠΊΠΎΠΌΠΎΠΌΡ, ΡΡΠ½ΠΊΡΠΈΡ find() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠ΅Π΅ ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
4. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ find() ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΡΠ°ΠΏΡ 2 ΠΈ 3.
5. ΠΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΡ find() Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ.
6. ΠΠΎΡΡΠΈΠ³Π½ΡΠ² ΠΊΠΎΠ½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠ½ΠΊΡΠΈΡ find() Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅Π΅ Π½Π΅ΡΠ΄Π°ΡΡ ΠΏΠΎΠΈΡΠΊΠ°. Π’ΠΈΠΏ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ Ρ ΡΠΈΠΏΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ 3.
ΠΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠΎΠΊΠ° Π΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ, ΡΡΠ½ΠΊΡΠΈΡ find() Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²).
ΠΡΠ΅ΡΠ°ΡΠΎΡΡ Π΄Π΅Π»Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°β¦ΠΡΠ΅ ΡΡΠ°ΠΏΡ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ find(), ΠΊΡΠΎΠΌΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°: ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°; Π΅ΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΡΠΊΠΎΠΌΠΎΠΌΡ, ΡΡΠ½ΠΊΡΠΈΡ find() ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ; ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ; ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ find() ΠΊΠΎΠ½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ; ΡΡΠ½ΠΊΡΠΈΡ find() Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½ΡΠ° (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 9.2.1), ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π° Π½Π΅ΡΠ΄Π°ΡΡ ΠΏΠΎΠΈΡΠΊΠ°.
β¦Π½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΈΠΏΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²Π₯ΠΎΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ Π΄Π΅Π»Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄Π½Ρ (ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅) ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΠΏΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°ΠΏ 2 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ == ΡΠΈΠΏΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΡΡΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΡΠ΅Π±ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠΌΠ΅Π» ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ <. ΠΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π° 10.1Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 10.1. Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ algorithm ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ count(), ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ find(). ΠΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π° ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΡ ΠΈΡΠΊΠΎΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ³Π°Π½ΠΈΠ·ΡΠΉΡΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π² Π²Π΅ΠΊΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 10.2. ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ ΡΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠΉΡΠ΅ Π² ΡΠΏΠΈΡΠΎΠΊ (list) ΡΡΡΠΎΠΊ.
ΠΠ»ΡΡΠ΅Π²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²ΠΠ±ΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ. Π’ΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΎΠΏΠ΅ΡΠΈΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ, Π° Π½Π΅ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»Π΅Π½, Π½ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ ΡΠΌΡΡΠ»: ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ "ΠΎΠ±ΡΡΠ½ΡΠ΅" ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π΄Π°Π»Π΅Π΅, Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, Π½ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ°ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 10.4.1, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ. ΠΠΎΠ³Π΄Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ°ΠΌΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ ΡΡΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
10.2. ΠΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΡ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π ΡΡΠ°ΡΡΡΡ, Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΠΊΠ°ΠΊ ΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠΏΡΠΎΡΡΠΈΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΠ° Ρ Π»ΠΈΡΠ½ΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ . Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΠΈΠ΅ ΠΈΡ ΠΎΠ±ΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ. Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ ΠΈΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, Π²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°Π»Π΅Π΅ ΡΡΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ (input range). ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ, Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ, ΠΎΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π° ΡΠΈΡΠ°ΡΡΠΈΠ΅, Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΈ ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
10.2.1. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ
ΠΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΡ . Π€ΡΠ½ΠΊΡΠΈΡ find() ΠΈ ΡΡΠ½ΠΊΡΠΈΡ count(), ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π² ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»Π° 10.1, ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ².
ΠΡΡΠ³ΠΈΠΌ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ accumulate(), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ numeric. Π€ΡΠ½ΠΊΡΠΈΡ accumulate() ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π° ΡΡΠ΅ΡΠΈΠΉ β ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΌΠΌΡ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ vec β ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π».
// ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²Π΅ΠΊΡΠΎΡΠ° vec, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0
int sum = accumulate(vec.cbegin(), vec.cend(), 0);
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²Π΅ΠΊΡΠΎΡΠ° vec, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ 0 ΠΊΠ°ΠΊ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΌΠΌΡ.
Π’ΠΈΠΏ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ accumulate() ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΡΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΈ ΠΊΠ°ΠΊΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ accumulate().
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΠΈΠΏΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²Π£ ΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ°, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ accumulate() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²Π½ΡΡ ΡΠΎΡΠΊΡ Π΄Π»Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅: ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊ ΡΠΈΠΏΡ ΡΡΠΌΠΌΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π±ΡΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠΈΠΏΡ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π²Π΅ΠΊΡΠΎΡΠ° vec ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π±ΡΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΈΠ»ΠΈ ΡΠΈΡΠ»Π° ΡΠΈΠΏΠ° double, ΠΈΠ»ΠΈ long long, ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° int.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠΏ string ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ +, ΡΡΠ½ΠΊΡΠΈΡ accumulate() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²Π΅ΠΊΡΠΎΡΠ° ΡΡΡΠΎΠΊ:
string sum = accumulate(v.cbegin(), v.cend(), string(""));
ΠΡΠΎΡ Π²ΡΠ·ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²Π΅ΠΊΡΠΎΡΠ° v ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ sum. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π΄Π΅ΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° string. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΡΡΠΎΠΊΠΈ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ΅ΡΠ°Π»Π° ΠΏΡΠΈΠ²Π΅Π»Π° Π±Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
// ΠΎΡΠΈΠ±ΠΊΠ°: no + on const char*
string sum = accumulate(v.cbegin(), v.cend(), "");
ΠΡΠ»ΠΈ Π±Ρ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π», ΡΠΈΠΏΠΎΠΌ ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π±Ρ const char*. ΠΡΠΎΡ ΡΠΈΠΏ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ +. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠΏ const char* Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° +, ΡΡΠΎΡ Π²ΡΠ·ΠΎΠ² Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ.
Π‘ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΠ°ΡΡ, Π½ΠΎ Π½Π΅ ΠΏΠΈΡΡΡ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΎΠ±ΡΡΠ½ΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ cbegin() ΠΈ cend() (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 9.2.3). ΠΠΎ Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ begin() ΠΈ end().
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Ρ Π΄Π²ΡΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, equal(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π»ΠΈ Π΄Π²Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ½ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π²ΡΠΎΡΠΎΠΉ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, Π΅ΡΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π²Π½Ρ, ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°: ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° (ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ) ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° ΡΡΠ΅ΡΠΈΠΉ β ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
// roster2 Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²,
// ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈ roster1
equal(roster1.cbegin(), roster1.cend(), roster2.cbegin());