MSVC Π²Π΅ΡΡΠΈΠΉ 4-6
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ STL, Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π²Π΅ΡΡΠΈΠΉ 4-6, ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ Π΄Π»Ρ MSVC Π²Π΅ΡΡΠΈΠΈ 4, Π° ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΎΡ MSCV4 ΠΊ MSVC6 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π±ΡΠ»Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π½ΠΎ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΡΠ΄Π΅Π±Π½ΡΡ Π΄Π΅Π», ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π²ΡΠΈΡ ΡΠΈΡΠΌΡ Microsoft, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡΡΠ°Π²Π°Π»Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ STL, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Ρ MSVC4-6, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»Π°ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠΎΠ², Π°Π²ΡΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π±Π»ΠΎΠ½ insert Π±ΡΠ» Π·Π°ΠΌΠ΅Π½Π΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ:
void insert(iterator position,// "iterator" - ΡΠΈΠΏ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°
iterator first, iterator last): // Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
ΠΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΠ½ΡΡ Π²ΡΡΠ°Π²ΠΊΡ ΠΈΠ· vector<Widget> Π² vector<Widget> ΠΈΠ»ΠΈ ΠΈΠ· list<int> Π² list<int>, Π½ΠΎ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠ°Π²ΠΊΠ° ΠΈΠ· vector<Widget> Π² list<Widget> ΠΈΠ»ΠΈ ΠΈΠ· set<int> Π² deque<int>) Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΈΡΡ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»Π°ΡΡ Π΄Π°ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΠ½Π°Ρ Π²ΡΡΠ°Π²ΠΊΠ° (Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ assign) ΠΈΠ· vector<long> Π² vector<int>, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ vector<long>:: iterator ΠΈ vector<int>:: iterator ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠ°Π·Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠΉ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ, Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² MSVC4-6:
istream_iterator<Widget> begin(cin),end;
vector<Widget> vw(begin.end);
list<Widget> lw;
lw.assign(vw.rbegin(),vw.rend());// ΠΡΠΈΡΠ²ΠΎΠΈΡΡ lw ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ vw
// (Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅);
// Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² MSVC4-6!
SpeciΠ°lContainer<Widget> scw:
scw.insert(scw.end(),lw.begin(),lw.end()); // ΠΡΡΠ°Π²ΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ sew
// ΠΊΠΎΠΏΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Widget ΠΈΠ· lw:
// Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² MSVC4-6!
Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΡΡΠ΅Π΄Π΅ MSVC4-6? ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ MSVC ΠΈ ΡΠΎΠ³ΠΎ, Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ Π»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ STL, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ.
ΠΠ±Ρ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ MSVC4-5
ΠΡΠ΅ ΡΠ°Π· ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ STL ΠΈΠ· ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ MSVC4-6:
vector<Widget> vw(begin,end);// ΠΡΠ²Π΅ΡΠ³Π°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ STL
// ΠΈΠ· ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ MSVC4-6
list<Widget> lw;
lw.assign(vw.rbegin(),vw.rend());// Π’ΠΎ ΠΆΠ΅
SpeciΠ°lContainer<Widget> scw;
scw.insert(scw.end(),lw.begin(),lw.end()); // Π’ΠΎ ΠΆΠ΅
// Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ begin ΠΈ end
// Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Widget
// ΠΈΠ· cn (ΡΠΌ. ΡΠΎΠ²Π΅Ρ 6).
// ΠΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Widget
// ΠΈΠ· cin Π² vw (ΡΠΌ. ΡΠΎΠ²Π΅Ρ 6)
// Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² MSVC4-6!
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΡΠ²Π΅ΡΠ³Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΈΡΠΈΠ½Π΅: ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ STL. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅: Π·Π°ΠΌΠ΅Π½Π° Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΠΎΡΡ Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π²ΡΡΠ°Π²ΠΊΠΈ (ΡΠΌ. ΡΠΎΠ²Π΅Ρ 30). ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅:
istream_iterator<Widget> begin(cin).end:
vector<Widget> vw(begin,end); //Π‘ΠΎΠ·Π΄Π°ΡΡ vw ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ
copy(begin,end,back_inserter(vw));//ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ
//Π² Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Widget ΠΈΠ· cin
list<Widget> lw;
lw.clear(); //Π£Π΄Π°Π»ΠΈΡΡ ΠΈΠ· lw ΡΡΠ°ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ:
copy(vw.rbegin(),vw.rend(),//ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ· vw
back_inserter(lw))://(Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅)
SpecialContainer<Widget> scw;
copy(lw.begin().lw.end().// Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Widget
inserter(scw.scw.end()));// ΠΈΠ· lw Π² ΠΊΠΎΠ½Π΅Ρ sew
Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ MSVC4-5. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ ΠΈ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠΌΠΈ. ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠΎΠ²Π΅ΡΠ΅ 5, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΡΠΏΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ STL Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ°, ΠΎΡΠΊΠ°ΠΆΠΈΡΠ΅ΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡ Π² ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°Ρ , Π³Π΄Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ±Ρ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ MSVC6
ΠΠ±Ρ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈ Π΄Π»Ρ MSVC6, Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ MSVC4-5 Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ STL Π½Π΅ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ. Π MSVC6 Π΄Π΅Π»ΠΎ ΠΎΠ±ΡΡΠΎΠΈΡ ΠΈΠ½Π°ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠΎΠΉ ΡΡΠ΅Π΄Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ STL ΠΈΠ· ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ MSVC6 Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Ρ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π‘ΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ.
Π ΡΠΎΠ²Π΅ΡΠ΅ 50 ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ STL ΠΎΡ SGI ΠΈ STLport; Π² ΡΠΏΠΈΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΎΠ±Π΅ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ MSVC6. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π½ΠΎΠ²Π΅ΠΉΡΡΡ MSVC-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ STL ΠΎΡ Dinkumware. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ SGI ΠΈ STLport ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΊΠ°Ρ-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π² ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΏΡΠΎΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ SGI ΠΈ STLport ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² MSVC6. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠΎΠ² β ΠΈΠ·-Π·Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π² SGI ΠΈ/ΠΈΠ»ΠΈ STLport ΡΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ MSVC6 (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ DLL), ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ Ρ. Π΄.
ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π²Π΅ΡΠΈ Π²Π°Ρ ΠΏΡΠ³Π°ΡΡ ΠΈΠ»ΠΈ Π²Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΠ΅ΡΠ΅ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ Β«Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΡΠΎΠ³ΠΎΒ», ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ STL Π΄Π»Ρ MSVC6 ΠΎΡ Dinkumware. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Ρ ΡΠ°ΡΡΠ΅ΡΠΎΠΌ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΡΠΎΡΡ Π·Π°ΠΌΠ΅Π½Ρ ΠΈ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π‘ΡΠ°Π½Π΄Π°ΡΡΡ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ STL ΠΈΠ· MSVC6 ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Dinkumware, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π½ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ STL Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π». ΠΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ STL ΠΎΡ Dunkumware ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π½Π° ΡΠ°ΠΉΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ http://www.dunkumware.com.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ Π²ΡΠ±ΠΎΡ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π΅ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅Π΅, ΡΠ΅ΠΌ STL Ρ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠΎΠ². Π Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ Π±ΡΠ΄ΡΡ ΡΠ΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π‘ΡΠ°Π½Π΄Π°ΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ β ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ push_back Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ string. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ STL, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ (ΡΠΌ. ΡΠΎΠ²Π΅Ρ 25) ΠΈ ΠΎΠ΄Π½ΠΎΡΠ²ΡΠ·Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ slist). Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ SGI ΠΈ STLport ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΎΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ select1st ΠΈ select2nd (ΡΠΌ. ΡΠΎΠ²Π΅Ρ 50).
ΠΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ STL ΠΈΠ· ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ MSVC6, ΡΠ°ΠΉΡ Dunkumware Π²ΡΠ΅ ΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΏΠΎΡΠ΅ΡΠΈΡΡ. ΠΠ° Π½Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ MSVC6 ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π΅Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ². ΠΠ΅ ΡΡΠΎΠΈΡ ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β Π΄Π΅Π»ΠΎ Π²Π΅ΡΡΠΌΠ° ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½Π΅ Π²ΠΈΠ½ΠΈΡΠ΅ Π² Π½ΠΈΡ ΠΌΠ΅Π½Ρ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
1
Π ΡΡΠ΅Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½ (Π°Π½Π³Π». mutex) Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π² Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Β«ΠΌΡΡΠ΅ΠΊΡΒ». β ΠΡΠΈΠΌΠ΅Ρ. ΡΠ΅Π΄.
2
Π‘ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π½Π΅ Π²ΡΠ΅ 24 ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΎΡΡΠ½Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ 1/24 Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎΡΠ½Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΡΡΠ°Π΅ΡΡΡ Π±Π΅ΡΡΠΏΠΎΡΠ½ΡΠΉ ΡΠ°ΠΊΡ: ΡΡΡΠ΅ΡΡΠ²ΡΡΡ 24 ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΡΠ±ΡΡ ΠΈΠ· Π½ΠΈΡ .
3
Π’Π΅ΡΠΌΠΈΠ½ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΡΡΡ Π² ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅. β ΠΡΠΈΠΌΠ΅Ρ. ΡΠ΅Π΄.
4
ΠΠ°ΠΌΠΌΠ° Π., Π₯Π΅Π»ΠΌ Π ., ΠΠΆΠΎΠ½ΡΠΎΠ½ Π ., ΠΠ»ΠΈΡΡΠΈΠ΄Π΅Ρ ΠΠΆ. Β«ΠΡΠΈΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» β Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ, 2001.
5
Π‘ΠΌ. ΡΡΠ°ΡΡΡ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠ΅ΡΠΊΡ A. (Andrei Alexandrescu) Π² ΠΌΠ°ΠΉΡΠΊΠΎΠΌ Π½ΠΎΠΌΠ΅ΡΠ΅ Β«Π‘++ ReportΒ» Π·Π° 2000 Π³. [19].
6
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ use_facet ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΠΏΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π½Π΅ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ . ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, Π½Π°Π·ΡΠ²Π°-Π΅ΠΌΠΎΠ΅ΡΠ²ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ Π‘++. ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊ ΠΈΡ ΡΠΈΡΠ»Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π°Π²ΡΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ use_facet Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.