Boost ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π΅ΡΡΡΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΈ ΠΊ Π½ΠΈΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅. ΠΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ Π»ΡΡΡΠ΅ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ (ΡΠΎ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ).
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌ ΠΈ ΠΎΠ±Π»Π°ΡΡΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ° ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° (Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΎΠ½ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Π½Π΅Π΅). ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ Conversion, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΎΠ΄ΡΡΠ°Ρ Π² Π½Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΡ numeric_cast Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΏΠΎΡΠ΅ΡΠ΅ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΠΈ Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ, Π° ΡΡΠ½ΠΊΡΠΈΡ lexical_cast ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ operator<<, ΠΊ ΡΡΡΠΎΠΊΠ΅, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ. ΠΏ. ΠΡΡΠ³ΡΡ ΠΊΡΠ°ΠΉΠ½ΠΎΡΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΡΡΠ°ΡΡ ΡΠ΅Π»ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Boost Graph Library (Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ Π³ΡΠ°ΡΠΎΠ²), ΠΈ Boost MPL Library (Β«Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ»).
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Boost ΠΏΠΎΡΠ²ΡΡΠ΅Π½Ρ ΡΠ°ΠΌΡΠΌ ΡΠ°Π·Π½ΡΠΌ ΡΠ΅ΠΌΠ°ΠΌ, ΡΠ³ΡΡΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ:
β’ ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠΎΠΊ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ². Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΈΠΏΠ°ΠΌ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ printf), ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ (Π»Π΅Π³Π»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ TR1 β ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 54), Π° ΡΠ°ΠΊΠΆΠ΅ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
β’ ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ. Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Ρ STL-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 54), Π±ΠΈΡΠΎΠ²ΡΠΌΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ.
β’ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅ΠΆΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ TR1. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Lambda, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° Π»Π΅ΡΡ, ΡΡΠΎ Π²Ρ Π²ΡΡΠ΄ Π»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡΠΎΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ:
using namespace boost::lambada; // Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°
// ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Lambda
std::vector <int> v;
...
std::for_each(v.begin(), v_end(), // Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° x
std::cout <<_1*2+10<<β\nβ); // Π² v Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ x*2+10;
// β_1β β ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ
// ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ
// ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
β’ ΠΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠΈΡΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ²-Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 47).
β’ ΠΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (TMP β ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 48). ΠΠΊΠ»ΡΡΠ°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ (assertions) Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Boost MPL Library. Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ ΠΎΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ STL-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΡ:
// ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΈΡΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ
// ΡΡΠΈ ΡΠΈΠΏΠ° (float, double ΠΈ long double), ΠΈ Π½Π°Π·Π²Π°ΡΡ Π΅Π³ΠΎ βfloatsβ
typedef boost::mpl::list<float, double, long double> floats;
// ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΈΠΏΡ
// ΠΈΠ· βfloatsβ, ΠΏΠ»ΡΡ βintβ, Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² Π½Π°ΡΠ°Π»ΠΎ; Π½Π°Π·Π²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ
// ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ βtypesβ
typedef boost::mpl::push_front<floats, int>::type types;
Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠΈΠΏΠΎΠ² (ΠΈΡ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈΠΈ ΡΠΈΠΏΠΎΠ² β typelists, Ρ ΠΎΡΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ mpl::list, Π½ΠΎ ΠΈ Π½Π° mpl::vector) ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΌΠΎΡΠ½ΡΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ TMP-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
β’ ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° ΠΈ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, ΠΏΠΎΠΈΡΠΊΠ° Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ (Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΎΠΊΠ°Π·Π°Π²ΡΠ°Ρ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π² ΠΎΡΡΠ΅Ρ TR1).
β’ ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΡΠ²Π½ΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 41) ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Β«ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°Β».
β’ Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ . Π‘ΡΠ΄Π° ΠΎΡΠ½Π΅ΡΠ΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (ΡΠΎ Π΅ΡΡΡ Β«Π»ΡΠ±ΡΡ Β» Π½Π΅ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΡΠΈΠΏΠΎΠ²) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΡΠ»Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² TR1.
β’ ΠΠ΅ΠΆΡΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Β«Π±Π΅ΡΡΠΎΠ²Π½ΠΎΠ΅Β» Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π½Π° ΡΠ·ΡΠΊΠ°Ρ C++ ΠΈ Python.
β’ ΠΠ°ΠΌΡΡΡ. Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pool Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 50), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ Β«ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Β» ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ (ΡΠΌ. ΠΏΡΠ°Π²ΠΈΠ»ΠΎ 13), Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅, ΡΡΠΎ Π²ΠΎΡΠ»ΠΈ Π² TR1 (Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ). ΠΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· ΡΠ°ΠΊΠΈΡ Β«ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Β» ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² TR1, ΡΠ²Π»ΡΡΡΡΡ scoped_array β ΠΏΠΎΡ ΠΎΠΆΠ°Ρ Π½Π° auto_ptr ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²; Π² ΠΏΡΠ°Π²ΠΈΠ»Π΅ 44 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
β’ Π Π°Π·Π½ΠΎΠ΅. Π ΡΡΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΎΡΠ½Π΅ΡΠ΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ CRC, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ Π΄Π°ΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄Π° ΠΏΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Boost. Π‘ΠΏΠΈΡΠΎΠΊ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΡΠΉ.
Boost ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ Π·Π°Π΄Π°Ρ, Π½ΠΎ ΠΎΠ½ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ ΠΏΠΎΠΊΡΡΠ²Π°ΡΡ Π²ΡΠ΅Ρ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠ°ΠΊ Π½Π΅Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ . ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΈΡ Π½Π΅Ρ ΡΠ΅ΠΉΡΠ°Ρ (ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠΈΡΡ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ). ΠΠΎ ΠΊ ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΈΡΠ°ΡΡ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ·Π½Π°ΡΡ ΡΠΎΡΠ½ΠΎ β Π·Π°ΠΉΡΠΈ Π½Π° ΡΠ°ΠΉΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. ΠΠ°Π΄Π΅ΡΡΡ, Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ: http://boost.org. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΠ°ΠΌ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΡΠ΅ΡΠ΅, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ.
Π§ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡβ’ Boost β ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΈ Web-ΡΠ°ΠΉΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π½Π° C++ Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΠΈΡ ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ. Boost ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΌΠ°Π»ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ C++.
β’ Boost ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² TR1, Π½ΠΎ β ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ β ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
ΠΠ° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C++Β»
Π ΠΊΠ½ΠΈΠ³Ρ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++Β» Π²ΠΎΡΠ»ΠΎ ΡΠΎ, ΡΡΠΎ Ρ ΡΡΠΈΡΠ°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½Π° C++. ΠΡΠ»ΠΈ Π²Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠΎΠΈΠΌΠΈ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ: Β«ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++Β» ΠΈ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ STLΒ».
Π ΠΊΠ½ΠΈΠ³Ρ Β«ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++Β» Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π½Π΅ΠΉ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C++, ΠΊΠ°ΠΊ Β«ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅Β» ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΡΡΡΠ»ΠΎΠΊ ΠΈ ΠΏΡΠΎΠΊΡΠΈ-ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ STLΒ» β ΡΡΠΎ ΡΠΎΠΆΠ΅ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Β«ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C++Β», Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² Π½Π΅ΠΉ ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΠ±Π΅ΠΈΡ ΠΊΠ½ΠΈΠ³ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½ΠΈΠΆΠ΅.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ C++ΠΡΠ½ΠΎΠ²Ρ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 1: Π Π°Π·Π»ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ ΡΡΡΠ»ΠΊΠΈ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 2: ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π² ΡΡΠΈΠ»Π΅ C++
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 3: ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π°Ρ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 4: ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 5: ΠΠΏΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 6: Π Π°Π·Π»ΠΈΡΠ°ΠΉΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΡΡ ΠΈ ΠΏΠΎΡΡΡΠΈΠΊΡΠ½ΡΡ ΡΠΎΡΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ΠΈ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 7: ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΠΉΡΠ΅ Β«&&Β», Β«||Β» ΠΈΠ»ΠΈ Β«,Β»
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 8: Π Π°Π·Π»ΠΈΡΠ°ΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² new ΠΈ delete
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 9: Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΡ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 10: ΠΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΠΉΡΠ΅ ΡΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 11: ΠΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠΉΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ°
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 12: ΠΡΠ»ΠΈΡΠ°ΠΉΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈΠ»ΠΈ Π²ΡΠ·ΠΎΠ²Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 13: ΠΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΠΉΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 14: Π Π°Π·ΡΠΌΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 15: ΠΡΠ΅Π½ΠΈΠ²Π°ΠΉΡΠ΅ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 16: ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π΅ Β«80β20Β»
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 17: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 18: Π‘Π½ΠΈΠΆΠ°ΠΉΡΠ΅ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 19: ΠΠ·ΡΡΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 20: ΠΠ±Π»Π΅Π³ΡΠ°ΠΉΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠ°ΡΠ°Π³ΡΠ°Ρ 21: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²