ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ, Π±ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.7). ΠΡΡΡ Π΅ΡΠ΅ Π΄Π²Π° Π²ΠΈΠ΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: ΠΊΠ»Π°ΡΡΡ, ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ (Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 14.8), ΠΈ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (lambda expression).
ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π±Π΅Π·ΡΠΌΡΠ½Π½ΠΎΠΉ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡΠ±ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΅ΡΡΡ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΠΎΡΠΌΠ° Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΎΠ²Π°:
[ΡΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ°](ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) -> ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
{ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ}
Π³Π΄Π΅ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ° (Π·Π°ΡΠ°ΡΡΡΡ ΠΏΡΡΡΠΎΠΉ) β ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ; ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅, ΡΡΠΎ ΠΈ Ρ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΌΡΠΊΠ°ΡΡΠΈΠΉ ΡΠΈΠΏ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.3.3).
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ, Π½ΠΎ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ° ΠΈ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠ΅Π³Π΄Π°:
auto f = [] { return 42; };
ΠΠ΄Π΅ΡΡ f ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 42. ΠΡΠ·ΠΎΠ² Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΡΡΠΎ ΠΈ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, β ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ·ΠΎΠ²Π°:
cout << f() << endl; // Π²ΡΠ²ΠΎΠ΄ΠΈΡ 42
ΠΡΠΎΠΏΡΡΠΊ ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ ΠΈ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ·ΠΎΠ² Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ f, ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡΡΠΌ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠΏΡΡΠ΅Π½ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΠΊΠΎΠ΄Π° Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠ΅Π»ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ return, ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· ΡΠΈΠΏΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΏΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ void.
ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ΅Π»Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π½Π΅ΡΡΠΎ ΠΊΡΠΎΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° return, ΡΡΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΈΠΏ void.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠ·ΠΎΠ²Π°ΠΌ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π²ΡΠ·ΠΎΠ²Π° Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΡΠΈΠΏΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.5.1). ΠΠΎΡΡΠΎΠΌΡ Ρ Π²ΡΠ·ΠΎΠ²Π° Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΡΡΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²Π΅Π΄ΡΡΠ΅Π΅ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ isShorter():
[](const string &a, const string &b)
{ return a.size() < b.size();}
ΠΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ· ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ isShorter(), Π±ΡΠ΄ΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ°ΠΊ ΠΈ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ isShorter(), ΡΠ΅Π»ΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π·Π°Π²ΠΈΡΡΡΠ΅Π΅ ΠΎΡ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠ²ΠΎΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ stable_sort() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
// ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π° ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ Π°Π»ΡΠ°Π²ΠΈΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΠ΅Π΄ΠΈ
// ΡΠ»ΠΎΠ² ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°
stable_sort(words.begin(), words.end(),
[](const string &a, const string &b)
{ return a.size() < b.size();});
ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ stable_sort() Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΎΠ½Π° Π²ΡΠ·ΠΎΠ²Π΅Ρ Π΄Π°Π½Π½ΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π·Π°Ρ Π²Π°ΡΠ°Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ β ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ find_if(). ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΠ΅Π΅ Π΄Π»ΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° sz ΡΡΠ½ΠΊΡΠΈΠΈ biggies().
Π₯ΠΎΡΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ½ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ², ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π²ΠΊΠ»ΡΡΠΈΠ² ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ° (capture list). Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ° ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, Π² ΡΠ°ΠΌΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ Π²Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ sz ΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° string. Π’Π΅Π»ΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ Π·Π°Ρ Π²Π°ΡΠ΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sz:
[sz](const string &a)
{ return a.size () >= sz; };
Π Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , [], ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π°Π½Π½ΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ sz, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Π»Π΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²Π΅ΠΊΡΠΎΡ words, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΎΠ½Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ. ΠΡΠ»ΠΈ Π±Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π»ΠΎ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ°, Π½Π°Ρ ΠΊΠΎΠ΄ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΡΡ Π±Ρ:
// ΠΎΡΠΈΠ±ΠΊΠ°: sz Π½Π΅ Π·Π°Ρ Π²Π°ΡΠ΅Π½Π°
[](const string &a)
{ return a.size() >= sz; };
ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² Π΅Π΅ ΡΠΏΠΈΡΠΊΠ΅ Π·Π°Ρ Π²Π°ΡΠ°.
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ find_if()ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ sz:
// ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ >= sz
auto wc = find_if(words.begin(), words.end(),
[sz](const string &a)
{ return a.size() >= sz; });
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ find_if() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ sz, ΠΈΠ»ΠΈ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ words.end(), Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ find_if() ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΡΠΎΠΌ Π²Π΅ΠΊΡΠΎΡΠ° words (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 3.4.2):
// Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ >= sz
auto count = words.end() - wc;
cout << count << " " << make_plural(count, "word", "s")
<< " of length " << sz << " or longer" << endl;
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΡΠ»ΠΎΠ²Π° word ΠΈΠ»ΠΈ words, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ°Π²Π΅Π½ Π»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ 1, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ make_plural() (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.3.2).
ΠΠ»Π³ΠΎΡΠΈΡΠΌ for_each()ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ°ΡΡΡ Π·Π°Π΄Π°ΡΠΈ β Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²Π΅ΠΊΡΠΎΡΠ° words, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ sz. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ for_each(), ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π΅Π³ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅:
// Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ»ΠΎΠ²Π°, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π²Π΅Π½ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ, ΡΠ°Π·Π΄Π΅Π»ΡΡ
// ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ
for_each(wc, words.end(),
[](const string &s) {cout << s << " ";});
cout << endl;
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ° ΡΡΠΎΠ³ΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΡΡ, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ Π΅Π³ΠΎ ΡΠ΅Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π²Π° ΠΈΠΌΠ΅Π½ΠΈ: Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ s ΠΈ cout.
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ° ΠΏΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²Π½Π΅ ΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΡ cout Π½Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π² ΡΡΠ½ΠΊΡΠΈΠΈ biggies(), ΠΎΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ iostream. ΠΠΎΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ iostream Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ biggies(), Π΄Π°Π½Π½ΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ cout.
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Ρ Π²Π°ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ; Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ² Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅Π’Π΅ΠΏΠ΅ΡΡ, ΠΈΠ·ΡΡΠΈΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅Π΅ Π² ΡΠ΅Π»ΠΎΠΌ:
void biggies(vector<string> &words,
vector<string>::size_type sz) {
elimDups(words); // ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΠ»ΠΎΠ²Π° Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
// ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ
// ΠΏΠ΅ΡΠ΅ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ Π°Π»ΡΠ°Π²ΠΈΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΠ΅Π΄ΠΈ ΡΠ»ΠΎΠ²