Π Π°Π·Π½ΠΎΠ΅

C Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°: Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ C++. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ пространства ΠΈΠΌΡ‘Π½

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° языка C++ β€” ВикипСдия

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β€” свободной энциклопСдии

Π’ языкС программирования C++ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Бтандартная Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ классов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, написанных Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΌ языкС. Бтандартная Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько основных ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этими ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, основных Ρ‚ΠΈΠΏΠΎΠ² строк ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языковых особСнностСй, ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для выполнСния Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня числа. Бтандартная Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° языка C++ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя спСцификации стандарта ISO C90 стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ языка Π‘ΠΈ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ особСнности Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ пространства ΠΈΠΌΠ΅Π½ std.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шаблонов (STL)Β β€” подмноТСство стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C++ ΠΈ содСрТит ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΒ Ρ‚.Β Π΄.[источник Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ 3153 дня] Π₯отя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ программисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«STLΒ» вмСстС (ΠΈΠ»ΠΈ ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ) с Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ «Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C++Β».

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C++ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Β«.hΒ».

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C++ содСрТит послСдниС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ C++ стандарта ANSI (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ стандартных шаблонов ΠΈ Π½ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ iostream). Она прСдставляСт собой Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². Π’ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² отсутствуСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ H.[1]

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

НиТСпСрСчислСнныС Ρ„Π°ΠΉΠ»Ρ‹ содСрТат объявлСния Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹

<bitset>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ спСциализированный класс ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² std::bitsetΒ β€” Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ массив.
<deque>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::dequeΒ β€” двусвязная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.
<list>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::listΒ β€” двусвязный список.
<map>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ классов ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² std::map ΠΈ std::multimapΒ β€” Ассоциативный массив ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
<queue>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ класс Π°Π΄Π°ΠΏΡ‚Π΅Ρ€-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::queueΒ β€” односторонняя ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.
<set>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ классов ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² std::set ΠΈ std::multisetΒ β€” сортированныС ассоциативныС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈΠ»ΠΈ мноТСства.
<stack>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ класс Π°Π΄Π°ΠΏΡ‚Π΅Ρ€-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° std::stackΒ β€” стСк.
<vector>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² std::vectorΒ β€” динамичСский массив.

ΠžΠ±Ρ‰ΠΈΠ΅

<algorithm>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ опрСдСлСния ΠΌΠ½ΠΎΠ³ΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ.
<functional>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со стандартными Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ.
<iterator>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ классы ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ.
<locale>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ классы ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с локалями.
<memory>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ инструмСнты управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² C++, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ шаблон класса std::auto_ptr.
<stdexcept>
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок классов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, std::logic_error ΠΈ std::runtime_error, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ±Π° происходят ΠΈΠ· std::exception.
<utility>
Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса std::pair для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°Ρ€Π°ΠΌΠΈ (Π΄Π²ΡƒΡ‡Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅

<string>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ стандартныС строковыС классы ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

ΠŸΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°

<fstream>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ инструмСнты для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€ΠΈ fstream.
<ios>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ нСсколько Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… основу ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с iostreams.
<iostream>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ основы Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° языка C++. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ iostream.
<iosfwd>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ объявлСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… шаблонов классов, связанных с Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ.
<iomanip>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±Π°Π·Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ†Π΅Π»Ρ‹Ρ… ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.
<istream>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса std::istream ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… классов для Π²Π²ΠΎΠ΄Π°.
<ostream>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса std::ostream ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… классов для Π²Ρ‹Π²ΠΎΠ΄Π°.
<sstream>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса std::sstream ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… классов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками.
<streambuf>

ЧисловыС

<complex>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса std::complex ΠΈ связанныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с комплСксными числами.
<numeric>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для числовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
<valarray>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса std::valarrayΒ β€” класс массивов, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ для числовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Языковая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

<exception>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ нСсколько Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, связанных с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ std::exceptionΒ β€” Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс всСх ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΎΠ² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅.
<limits>
Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ шаблон класса std::numeric_limits, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для описания свойств Π±Π°Π·ΠΎΠ²Ρ‹Ρ… числовых Ρ‚ΠΈΠΏΠΎΠ².
<new>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ new ΠΈ delete, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΡ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ основу управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² C++.
<typeinfo>
Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСской ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² C++.

Бтандартная Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° языка Π‘ΠΈ

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ языка Π‘ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ языка C++ ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, созданными ΠΏΡƒΡ‚Ρ‘ΠΌ отсСчСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .h ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ‘c’ Π² Π½Π°Ρ‡Π°Π»Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ‘time.h’ стал ‘ctime’. ЕдинствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ этими Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ языка Π‘ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² пространство ΠΈΠΌΠ΅Π½ std:: (хотя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ компиляторы сами Π΄Π΅Π»Π°ΡŽΡ‚ это). Π’ стандартС ISO C Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ макросами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Π² ISO C++.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

Бсылки

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

nstd β€” C++ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° β€” Β«Π΄ΠΆΠ΅Π½Ρ‚Π΅Π»ΡŒΠΌΠ΅Π½ΡΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€Β» ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… классов / Π₯Π°Π±Ρ€

ВсСгда Ρ…ΠΎΡ‚Π΅Π» ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Β«Π΄ΠΆΠ΅Π½Ρ‚Π΅Π»ΡŒΠΌΠ΅Π½ΡΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€Β» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… классов, с ΠΌΠ°Π»ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Как Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ β€” Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» ΠΈ Π·Π°Π±Ρ‹Π». И самоС Π³Π»Π°Π²Π½ΠΎΠ΅ β€” Β«Π½Π΅ ΠΏΠ»Π°Ρ‚ΠΈ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒΒ» (Π‘) Π‘++

nstd::

МнС нравятся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ состоящиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ грядут ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² C++! πŸ™‚ Π‘Ρ€Π°Π·Ρƒ ΠΎΠ³ΠΎΠ²ΠΎΡ€ΡŽΡΡŒ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° nstd Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π° мСсто Π²Π΅Π»ΠΈΠΊΠΈΡ… ΠΈ ΠΌΠΎΠ³ΡƒΡ‡ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Ρ‚ΠΈΠΏΠ° boost, Qt, POCO ΠΈ Ρ‚.Π΄. ΠΈ Ρ‚.ΠΏ. Π‘ΠΊΠΎΡ€Π΅Π΅, ΠΎΠ½Π° являСтся Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π½ΠΈΠΌ.

Моя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ возмоТности C++17 ΠΈ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слабо-зависимых Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… классов. Π‘Ρ€Π°Π·Ρƒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ дополняСтся ΠΈ мСняСтся, ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ чтСния Π²Π°ΠΌΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎΠ½Π° ΡƒΠΆΠ΅ измСнилась Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ исходным ΠΊΠΎΠ΄Π°ΠΌ здСсь.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° содСрТит нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎ использованию классов. Для Π½ΠΈΡ…, я Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ CodeBlocks (для Windows). Однако, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ содСрТат ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» GENie для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Makefile для этих Ρ†Π΅Π»Π΅ΠΉ. C++17 поддСрТиваСтся GCC 7.1 ΠΈ послСдними вСрсиями Clang. К соТалСнию, Visual Studio 2017 ΠΏΠΎΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ всС возмоТности Π½ΠΎΠ²ΠΎΠ³ΠΎ стандарта, Π² частности Π½Π΅ поддСрТиваСтся inline для data members ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ способ объявлСния nested namespaces. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для VS 2017 Ρ‡Π΅Ρ€Π΅Π· GENie, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠΊΠ° Π½Π΅ скомпилируСтся. Π₯отя, Ссли ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сами ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ исходники для компиляции Π² VS 2017, Ρ‚Π°ΠΌ Π½Π΅ слоТно.

Если Ρƒ вас Π½Π΅Ρ‚ CodeBlocks ΠΈΠ»ΠΈ Π’Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, Ρ‚ΠΎΠ³Π΄Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ MinGW-w64 GCC 7.1 для Windows, я ΠΎΠΏΠΈΡˆΡƒ ΠΊΠ°ΠΊ быстро ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ GENie ΠΈ Makefile-ΠΎΠ².

  1. ΠšΠ°Ρ‡Π°Π΅ΠΌ MinGW-w64 с GCC 7.1, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΡΡŽΠ΄Π°. РаспаковываСм Π² ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ для вас ΠΏΠ°ΠΏΠΊΡƒ ΠΈ прописываСм Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ MinGW/bin.
  2. ΠšΠ°Ρ‡Π°Π΅ΠΌ исполняСмый Ρ„Π°ΠΉΠ» GENie для Windows (Ρ‚Π°ΠΌ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ОБ) ΠΎΡ‚ΡΡŽΠ΄Π°.
  3. ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ genie.exe Π² ΠΏΠ°ΠΏΠΊΡƒ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, Ρ‚ΡƒΠ΄Π°, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ» genie.lua.
  4. Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Makefile-ΠΎΠ², запускаСм ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: Β«genie.exe gmakeΒ»
  5. Π’ ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ появятся Π³Π»Π°Π²Π½Ρ‹ΠΉ Makefile ΠΈ sub-ΠΌΠ΅ΠΉΠΊΡ„Π°ΠΉΠ»Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  6. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Release ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, запускаСм Ρ‚Π°ΠΌ-ΠΆΠ΅: Β«mingw32-make.exe config=releaseΒ». Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‚ΠΎΠ³Π΄Π° просто Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ имя ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Β«mingw32-make.exe config=release relinx_exampleΒ».

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° nstd распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT ΠΈ содСрТит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ классы ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ ΠΈ сторонниС Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ описании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Github я ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ сторонниС классы я Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΠ½ΠΈ Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ external.

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ содСрТании nstd:

Класс Relinx я ΡƒΠΆΠ΅ прСдставлял Π½Π° Π₯Π°Π±Ρ€Π°Ρ…Π°Π±Ρ€Π΅ здСсь. ΠŸΠΎΠΏΡ€ΠΎΡΡ‚Ρƒ говоря, это LINQ для C++. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Β«Π»Π΅Π½ΠΈΠ²Ρ‹Π΅Β» вычислСния ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ .NET LINQ. Π― Ρ€Π΅ΡˆΠΈΠ» Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Relinx Π² nstd. НС ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΆΠ΅ Π΄ΠΎΠ±Ρ€Ρƒ :).

signal_slot классы ΡƒΠ΄ΠΎΠ±Π½Ρ‹ Π² Ρ‚ΠΎΠΌ ΠΏΠ»Π°Π½Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ сигналам ΠΈ слотам автоматичСски ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ соСдинСния ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. КаТдая связь слота с сигналом любого Ρ‚ΠΈΠΏΠ° прСдставлСна классом connection, ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ происходит Ρ€Π°Π·Ρ€Ρ‹Π² связки signal-slot. Π’Π°ΠΆΠ½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ connection, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ сигналов ΠΈ слотов, Π½Π΅ являСтся template-ΠΎΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² любой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, нСзависимо ΠΎΡ‚ Ρ‚ΠΈΠΏΠΎΠ² сигнала ΠΈ слота. БоотвСтствСнно, ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ этого ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, всС связи с сигналами Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΎΡ€Π²Π°Π½Ρ‹. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ, ΠΏΡ€ΠΈ этом Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ сигналов β€” это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ автоматичСски.

live_property построСн Π½Π° Π±Π°Π·Π΅ signal_slot классов. Π­Ρ‚ΠΎ обвязка Π½Π°Π΄ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, которая позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΈ, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ: ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

expiry_cache это template ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ врСмя ΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅Ρ‚ сигналом ΠΎΠ± истСчСнии срока годности Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…: ΠΏΡ€ΠΎΠ΄Π»Π΅Π²Π°Π΅Ρ‚ Тизнь Π΄Π°Π½Π½Ρ‹ΠΌ, Ссли ΠΊ Π½ΠΈΠΌ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ хранСния, ΠΈ Ρ€Π΅ΠΆΠΈΠΌ Π±Π΅Π· продлСния ΠΆΠΈΠ·Π½ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΆΠ΅, Π΅ΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ автоматичСской очистки Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ (auto vacuum).

json β€” сторонняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… JSON.

asio β€” сторонняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСтСвыми ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, скоро Π²ΠΎΠΉΠ΄Ρ‘Ρ‚ Π² стандарт C++.

urdl β€” сторонняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π° asio, Π½ΠΎ форкнутая ΠΈ развиваСмая Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Она позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· сСти.

sqlite β€” это сторонняя ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° Π½Π°Π΄ sqlite3. ΠžΡ‡Π΅Π½ΡŒ интСрСсная рСализация.

quantum random number provider β€” это класс-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл с использованиСм бСсплатного сСрвиса QRNG (http://qrng.anu.edu.au), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайныС числа, сгСнСрированныС Π½Π° ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ.

Π—Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ использования этих классов (ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я здСсь Π½Π΅ упомянул), ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° Github здСсь. Если останутся вопросы ΠΈΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ прСдлоТСния β€” ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ!

Π― Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ nstd ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ классами. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ всСм ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ участиС Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ nstd Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Если Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ классы, Ρ‚ΠΎ присылайтС ΠΌΠ½Π΅. ΠŸΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.

///TODO:

Π’ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… ΠΏΠ»Π°Π½Π°Ρ… Ρ…ΠΎΡ‡Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ remote signals, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· TCP ΠΈΠ»ΠΈ UDP соСдинСниС. Π­Ρ‚ΠΈ сигналы Ρ…ΠΎΡ‡Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для связи ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами ΠΈ связи ΠΏΠΎ сСти.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Π·Π°Π΄ΡƒΠΌΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ GUI классы Π½Π° основС Blend2D ΠΈΠ»ΠΈ AGG ΠΈ с использованиСм своСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ signals slots. Пока Π½Π΅ опрСдСлился, ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠ· графичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²Π·ΡΡ‚ΡŒ Π·Π° основу. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ Π²Ρ‹ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ вашС ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ этому вопросу.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C++

Π“Π»Π°Π²Π° 1. О ΠΊΠ½ΠΈΠ³Π΅ 25
1.1. Для Ρ‡Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° эта ΠΊΠ½ΠΈΠ³Π° 25
1.2. Π§Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ 26
1.3. Π‘Ρ‚ΠΈΠ»ΡŒ ΠΈ структура ΠΊΠ½ΠΈΠ³ΠΈ 26
1.4. Как Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ 29
1.5. ПослСдниС достиТСния 29
1.6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация 29
1.7. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ связь 30

Π“Π»Π°Π²Π° 2. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык Π‘++ ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ 31
2.1. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ стандартов языка C++ 31
2.1.1. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ вопросы ΠΎ стандартС C++11 32
2.1.2. Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ стандартов C++98 ΠΈ C++11 33
2.2. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ О-обозначСния 34

Π“Π»Π°Π²Π° 3. НовыС срСдства языка 37
3.1. НовыС языковыС срСдства стандарта C++11 37
3.1.1. НСбольшиС, Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹Π΅ синтаксичСскиС уточнСния 37
3.1.2. АвтоматичСскоС Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова auto 38
3.1.3. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ инициализация ΠΈ списки ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ 39
3.1.4. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ for 41
3.1.5. Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° пСрСмСщСния ΠΈ rvalue-ссылки 43
3.1.6. НовыС строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ 48
3.1.7. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово noexcept 49
3.1.8. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово constexpr 51
3.1.9. НовыС возмоТности шаблонов 52
3.1.10. Лямбда-выраТСния ΠΈ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 53
3.1.12. Новый синтаксис объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ 58
3.1.13. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости 58
3.1.14. НовыС Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… 59
3.2. Π‘Ρ‚Π°Ρ€Ρ‹Π΅ «Π½ΠΎΠ²Ρ‹Π΅» срСдства языка 59
3.2.1. НСявная инициализация Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² 63
3.2.2. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main() 64

Π“Π»Π°Π²Π° 4. ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ 65
4.1. ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ std 65
4.2. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ 66
4.3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 67
4.3.1. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ классы ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 68
4.3.2. Π§Π»Π΅Π½Ρ‹ классов ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 71
4.3.3. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса exception_ptr 80
4.3.4. Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ стандартных ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 80
4.3.5. НаслСдованиС классов стандартных ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 81
4.4. Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 82
4.5. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ 83
4.6. РаспрСдСлитСли памяти 85

Π“Π»Π°Π²Π° 5. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства 87
5.1. ΠŸΠ°Ρ€Ρ‹ ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ 87
5.1.1. ΠŸΠ°Ρ€Ρ‹ 88
5.1.2. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ 96
5.1.3. Π’Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ 102
5.1.4. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² tuples ΠΈ pairs 104
5.2. Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ 104
5.2.1. Класс shared_ptr 105
5.2.2. Класс weak_ptr 113
5.2.3. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ 118
5.2.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ слабых ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ 120
5.2.5. Класс unique_ptr 127
5.2.6. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса unique_ptr 139
5.2.7. Класс auto_ptr 142
5.2.8. Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ замСчания ΠΎΠ± ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… указатСлях 144
5.3. ЧисловыС ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ 145
5.4. Бвойства ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² 152
5.4.1. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойств Ρ‚ΠΈΠΏΠΎΠ² 152
5.4.2. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС свойств Ρ‚ΠΈΠΏΠΎΠ² 155
5.4.3. ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для ссылок 163
5.4.4. ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² 163
5.5. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 164
5.5.1. ВычислСниС ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° ΠΈ максимума 164
5.5.2. ОбмСн Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 167
5.5.3. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния 169
5.6. АрифмСтика Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл Π½Π° этапС компиляции 170
5.7. Часы ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ 174
5.7.1. ΠžΠ±Π·ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Chrono 174
5.7.2. Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ 175
5.7.3. Часы ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ 180
5.7.4. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² языкС C ΠΈ стандартС POSIX 189
5.7.5. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² 191
5.8. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ , ΠΈ 192
5.8.1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ 192
5.8.2. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ 193
5.8.3. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ 194

Π“Π»Π°Π²Π° 6. Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шаблонов 195
6.1. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ STL 195
6.2. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ 197
6.2.1. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ 199
6.2.2. АссоциативныС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ 207
6.2.3. НСупорядочСнныС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ 211
6.2.4. АссоциативныС массивы 216
6.2.5. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ 218
6.2.6. АдаптСры ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 219
6.3. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 219
6.3.1. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ассоциативных ΠΈ нСупорядочСнных ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 225
6.3.2. ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 229
6.4. Алгоритмы 231
6.4.1. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ 234
6.4.2. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² 239
6.5. АдаптСры ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 241
6.5.1. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ вставки 241
6.5.2. ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 244
6.5.3. ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 246
6.5.4. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ пСрСмСщСния 247
6.6. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 247
6.7. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ 248
6.7.1. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов 249
6.7.2. Π Π°Π±ΠΎΡ‚Π° с ассоциативными ΠΈ нСупорядочСнными ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ 252
6.7.3. Алгоритмы ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ 253
6.8. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° 254
6.8.1. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² 255
6.8.2. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ 257
6.9. ИспользованиС лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 259
6.10. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 263
6.10.1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 263
6.10.2. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 269
6.10.3. БвязыватСли 271
6.10.4. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ связыватСли ΠΏΡ€ΠΎΡ‚ΠΈΠ² лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 274
6.11. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 274
6.11.1. ВрСбования ΠΊ элСмСнтам ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 274
6.11.2. Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ сСмантика ссылок 275
6.12. Ошибки ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ STL 276
6.12.1. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок 276
6.12.2. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 278
6.13. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ STL 281
6.13.1. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² 281
6.13.2. НаслСдованиС Ρ‚ΠΈΠΏΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ STL 282

Π“Π»Π°Π²Π° 7. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ STL 283
7.1. ΠžΠ±Ρ‰ΠΈΠ΅ возмоТности ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ 283
7.1.1. ВозмоТности ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 283
7.1.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ 284
7.1.3.Π’ΠΈΠΏΡ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 291
7.2. ΠœΠ°ΡΡΠΈΠ²Ρ‹ 291
7.2.1. ВозмоТности массивов 292
7.2.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ массивами 294
7.2.3. ИспользованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² array<> ΠΊΠ°ΠΊ массивов Π² стилС языка Π‘ 298
7.2.4. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 299
7.2.5. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° 299
7.2.6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования массивов 299
7.3. Π’Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ 300
7.3.1. ВозмоТности Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² 301
7.3.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ 303
7.3.3. ИспользованиС Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π² качСствС массивов языка Π‘ 309
7.3.4. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 310
7.3.5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² 311
7.3.6. Класс vector 313
7.4. Π”Π΅ΠΊΠΈ 314
7.4.1. ВозмоТности Π΄Π΅ΠΊΠΎΠ² 315
7.4.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π΄Π΅ΠΊΠΎΠΌ 316
7.4.3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 320
7.4.4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π΄Π΅ΠΊΠΎΠ² 320
7.5. Бписки 321
7.5.1. ВозмоТности списков 322
7.5.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ списками 323
7.5.3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 329
7.5.4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования списков 330
7.6. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ списки 332
7.6.1. ВозмоТности ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… списков 332
7.6.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ списками 334
7.6.3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 345
7.6.4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… списков 345
7.7. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° 347
7.7.1. ВозмоТности мноТСств ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π² 348
7.7.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ мноТСствами ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π°ΠΌΠΈ 349
7.7.3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 359
7.7.4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования мноТСств ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π² 359
7.7.5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ задания критСрия сортировки Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ 362
7.8. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ 364
7.8.1. ВозмоТности ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 365
7.8.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ отобраТСниями ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ 366
7.8.3. ИспользованиС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ ассоциативных массивов 377
7.8.4. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 379
7.8.5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 379
7.8.6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с отобраТСниями, строками ΠΈ критСриями сортировки, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ 384
7.9. НСупорядочСнныС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ 387
7.9.1. ВозмоТности нСупорядочСнных ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 389
7.9.2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ нСупорядочСнных ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ 393
7.9.3. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ нСупорядочСнными ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ 400
7.9.4. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ сСгмСнтов 407
7.9.5. ИспользованиС нСупорядочСнных ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² качСствС ассоциативных массивов 408
7.9.6. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 409
7.9.7. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования нСупорядочСнных ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 409
7.10. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ STL 418
7.10.1. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ STL 419
7.10.2. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ массивы Π² стилС языка Π‘ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ STL 419
7.11. РСализация сСмантики ссылок 421
ИспользованиС раздСляСмых ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ 421
7.12. Когда ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 425

Π“Π»Π°Π²Π° 8. Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² STL 429
8.1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² 429
8.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ создания, копирования ΠΈ удалСния 432
8.3. ΠΠ΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ 435
8.3.1. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 435
8.3.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния 436
8.3.3. ΠΠ΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ассоциативными ΠΈ нСупорядочСнными ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ 437
8.4. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ 439
8.5. ΠŸΡ€ΡΠΌΠΎΠΉ доступ ΠΊ элСмСнтам 441
8.6. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 443
8.7. Вставка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов 445
8.7.1. Вставка ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов 445
8.7.2. Вставка Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов 450
8.7.3. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов 452
8.7.4. ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° 455
8.8. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ для списков ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… списков 455
8.8.1. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ для списков
(ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… списков) 455
8.8.2. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… списков 459
8.9. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ стратСгий 463
8.9.1. ΠΠ΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 463
8.9.2. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 464
8.9.3. Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ интСрфСйс для нСупорядочСнных ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² 465
8.10. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для выдСлСния памяти 466
8.10.1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ распрСдСлитСля памяти 467
8.10.2. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ для Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² распрСдСлитСля памяти 467

Π“Π»Π°Π²Π° 9. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ STL 471
9.1. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 471
9.2. ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 471
9.2.1. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° 471
9.2.2. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Π²ΠΎΠ΄Π° 473
9.2.3. ΠžΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 474
9.2.4. Π”Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 475
9.2.5. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ доступа 475
9.2.6. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²Π΅ΠΊΡ‚ΠΎΡ€Π° 478
9.3. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ 479
9.3.1. Ѐункция advance() 479
9.3.2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ next() ΠΈ prev() 481
9.3.3. Ѐункция distance() 483
9.3.4. Ѐункция iter_swap() 484
9.4. АдаптСры ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 485
9.4.1. ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 486
9.4.2. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ вставки 491
9.4.3. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 497
9.4.4. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ пСрСмСщСния 502
9.5. Бвойства ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 502
9.5.1. Π—Π°ΠΏΠΈΡΡŒ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 504
9.6. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 506

Π“Π»Π°Π²Π° 10. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ STL ΠΈ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 511
10.1. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 511
10.1.1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ°ΠΊ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ сортировки 512
10.1.2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС 513
10.1.3. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ for_each() 517
10.1.4. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 518
10.2. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ привязки 521
10.2.1. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 521
10.2.2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ ΠΈ привязки 522
10.2.3. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² 530
10.2.4. Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ 532
10.3. ИспользованиС лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ 534
10.3.1. Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ 534
10.3.2. Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ состояниС 535
10.3.3. Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ 537
10.3.4. Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ сортировки ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ эквивалСнтности 539

Π“Π»Π°Π²Π° 11. Алгоритмы STL 541
11.1. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² 541
11.2. ΠžΠ±Π·ΠΎΡ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² 541
11.2.1. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ 542
11.2.2. ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² 542
11.3. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 554
11.4. Алгоритм for_each() 556
11.5. ΠΠ΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ 560
11.5.1. ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ элСмСнтов 560
11.5.2. ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΈ максимум 562
11.5.3. Поиск элСмСнтов 564
11.5.4. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² 576
11.5.5. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ для Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² 583
11.6. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ 589
11.6.1. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтов 590
11.6.2. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ элСмСнтов 593
11.6.3. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ объСдинСниС элСмСнтов 595
11.6.5. ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 600
11.6.6. Π—Π°ΠΌΠ΅Π½Π° элСмСнтов 603
11.7. Алгоритмы удалСния 606
11.7.1. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 606
11.7.2. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² 609
11.8. ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Π½ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ 613
11.8.1. ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° элСмСнтов Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС 613
11.8.2. ЦикличСская пСрСстановка элСмСнтов 614
11.8.3. ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° элСмСнтов 617
11.8.4. ΠŸΠ΅Ρ€Π΅Ρ‚Π°ΡΠΎΠ²ΠΊΠ° элСмСнтов 619
11.8.5. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ элСмСнтов Π² Π½Π°Ρ‡Π°Π»ΠΎ 621
11.8.6. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π²Π° ΠΏΠΎΠ΄Ρ‹Π½Ρ‚Π΅Ρ€Π²Π°Π»Π° 623
11.9. Алгоритмы сортировки 624
11.9.1. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° всСх элСмСнтов 624
11.9.2. Частичная сортировка 627
11.9.3. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ n-ΠΌΡƒ элСмСнту 630
11.9.4. Алгоритмы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄ΠΎΠΉ 632
11.10. Алгоритмы для упорядочСнных Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² 635
11.10.1. Поиск элСмСнтов 636
11.10.2. БлияниС диапазонов 641
11.11. ЧислСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ 649
11.11.1. ВычислСния 649
11.11.2. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 653

Π“Π»Π°Π²Π° 12. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ 657
НСдавниС измСнСния, связанныС со стандартом C++11 657
12.1. Π‘Ρ‚Π΅ΠΊΠΈ 657
12.1.1. Основной интСрфСйс 658
12.1.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования стСков 659
12.1.3. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс стСка 660
12.1.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса stack<> 663
12.2. ΠžΡ‡Π΅Ρ€Π΅Π΄ΠΈ 663
12.2.1. Основной интСрфСйс 665
12.2.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ 665
12.2.3. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ 666
12.2.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса queue <> 666
12.3. ΠžΡ‡Π΅Ρ€Π΅Π΄ΠΈ с ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ 666
12.3.1. Основной интСрфСйс 668
12.3.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ с ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ 668
12.3.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса priority_queue<> 669
12.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² 670
12.4.1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² 670
12.4.2. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ 670
12.4.3. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ конструкторы для ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ с ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ 671
12.4.4. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ 672
12.5. Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ мноТСства 674
12.5.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… мноТСств 675
12.5.2. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса bitset 677

Π“Π»Π°Π²Π° 13. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ 679
ИзмСнСния, внСсСнныС Π² стандартС C++11 679
13.1. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ строковых классов 680
13.1.1. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° 680
13.1.2. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ слов ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΡ… Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС 684
13.2. ОписаниС строковых классов 687
13.2.1. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ 687
13.2.2. ΠžΠ±Π·ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ 690
13.2.3. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ дСструкторы 692
13.2.4. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ C-строки 693
13.2.5. Π Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ 694
13.2.6. Доступ ΠΊ элСмСнтам 695
13.2.7. БравнСния 697
13.2.8. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ 698
13.2.9. ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ подстрок ΠΈ строк 701
13.2.10. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° 701
13.2.11. Поиск 703
13.2.12. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ npos 705
13.2.13. ЧисловыС прСобразования 706
13.2.14. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² для строк 708
13.2.15. Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ 713
13.2.16. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 715
13.2.17. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ 716
13.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса string 716
13.3.1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ статичСскиС значСния 716
13.3.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ создания, копирования ΠΈ уничтоТСния 718
13.3.3. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ 719
13.3.4. БравнСния 720
13.3.5. Доступ ΠΊ символам 722
13.3.6. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π‘-строк ΠΈ массивов символов 723
13.3.7. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ 724
13.3.8. Поиск 732
13.3.9. ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠΈ ΠΈ конкатСнация строк 735
13.3.10. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° 736
13.3.11. ЧисловыС прСобразования 737
13.3.12. ГСнСрация ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 738
13.3.13. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² распрСдСлСния памяти 739

Π“Π»Π°Π²Π° 14. РСгулярныС выраТСния 741
14.1. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ сравнСния ΠΈ поиска рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 741
14.2. Π Π°Π±ΠΎΡ‚Π° с подвыраТСниями 744
14.3. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 750
14.4. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 751
14.5. Π—Π°ΠΌΠ΅Π½Π° рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 754
14.6. Π€Π»Π°Π³ΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 755
14.7. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, связанныС с рСгулярными выраТСниями 759
14.8. Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° ECMAScript 761
14.9. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ 763
14.10. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС основных сигнатур рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 764

Π“Π»Π°Π²Π° 15. ΠšΠ»Π°ΡΡΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° 767
15.1. ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° 768
15.1.1. ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 768
15.1.2. ΠšΠ»Π°ΡΡΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 768
15.1.3. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 769
15.1.4. ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 769
15.1.5. ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ‚ΠΎΡ€Ρ‹ 769
15.1.6. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 770
15.2. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ классы ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 771
15.2.1. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ классов 771
15.2.2. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 775
15.2.3. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ 775
15.3. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ << ΠΈ >> 776
15.3.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π²ΠΎΠ΄Π° << 776
15.3.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Π²ΠΎΠ΄Π° >> 778
15.3.3. Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² 778
15.4. БостояниС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 781
15.4.1. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ состояния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 781
15.4.2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ для доступа ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 783
15.4.3. БостояниС ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ Π±ΡƒΠ»Π΅Π²Ρ‹ условия 784
15.4.4. БостояниС ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ 786
15.5. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° 791
15.5.1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ для Π²Π²ΠΎΠ΄Π° 791
15.5.2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ для Π²Ρ‹Π²ΠΎΠ΄Π° 795
15.5.3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования 796
15.5.4. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса sentry 797
15.6. ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ‚ΠΎΡ€Ρ‹ 797
15.6.1. ΠžΠ±Π·ΠΎΡ€ манипуляторов 798
15.6.2. Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ манипуляторы 800
15.6.3. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ манипуляторы 801
15.7. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 802
15.7.1. Π€Π»Π°Π³ΠΈ форматирования 802
15.7.2. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 804
15.7.3. Π¨ΠΈΡ€ΠΈΠ½Π° поля, символ-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ 805
15.7.4. ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр 807
15.7.5. ОснованиС систСмы счислСния 808
15.7.6. Π’Ρ‹Π²ΠΎΠ΄ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ 810
15.7.7. ΠžΠ±Ρ‰ΠΈΠ΅ опрСдСлСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° 812
15.8. Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ 813
15.9. Доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ 814
15.9.1. ΠšΠ»Π°ΡΡΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 814
15.9.2. Rvalue ΠΈ сСмантика пСрСмСщСния для Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 818
15.9.3. Π€Π»Π°Π³ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² 819
15.9.4. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ доступ 822
15.9.5. ИспользованиС дСскрипторов Ρ„Π°ΠΉΠ»ΠΎΠ² 824
15.10. ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ классыдля работысо строками 825
15.10.1. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ классы 825
15.10.2. Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° пСрСмСщСния для строковых ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 829
15.10.3. ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ классы char* 830
15.11. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² 832
15.11.1. РСализация ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄Π° 832
15.11.2. РСализация ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π° 835
15.11.3. Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ 837
15.11.4. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² 838
15.11.5. БоглашСния создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° 840
15.12. БвязываниС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° 841
15.12.1. НСТСсткоС связываниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ tie() 841
15.12.2. ЖСсткоС связываниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² 842
15.12.3. ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ стандартных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 844
15.12.4. ΠŸΠΎΡ‚ΠΎΠΊΠΈ для чтСния ΠΈ записи 846
15.13. ΠšΠ»Π°ΡΡΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² 847
15.13.1. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² 848
15.13.2. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² 850
15.13.3. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π±ΡƒΡ„Π΅Ρ€Π° 853
15.14. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ эффСктивности 865
15.14.1. Бинхронизация со стандартными ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ языка C 865
15.14.2. БуфСризация Π² ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€Π°Ρ… 866
15.14.3. НСпосрСдствСнноС использованиС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² 867

Π“Π»Π°Π²Π° 16. Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ 869
16.1. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ символов 870
16.1.1. ΠœΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ тСкст ΠΈ тСкст ΠΈΠ· ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов 870
16.1.2. Π Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов 871
16.1.3. Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ Π² языкС C++ 872
16.1.4. Бвойства символов 873
16.1.5. Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов 877
16.2. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ локального контСкста 878
16.2.1. ИспользованиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… контСкстов 880
16.2.2. Π€Π°Ρ†Π΅Ρ‚Ρ‹ 885
16.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° локального контСкста 888
16.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ„Π°Ρ†Π΅Ρ‚ΠΎΠ² 890
16.4.1. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ чисСл 891
16.4.2. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ 896
16.4.3. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Ρ‚Ρ‹ 905
16.4.4. ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ символов 912
16.4.5. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк 926
16.4.6. Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ сообщСний 927

Π“Π»Π°Π²Π° 17. Π Π°Π±ΠΎΡ‚Π° с числами 929
17.1. Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ числа ΠΈ распрСдСлСния 929
17.1.1. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 930
17.1.2. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ 934
17.1.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² 937
17.1.4. РаспрСдСлСния 939
17.1.5. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС распрСдСлСний 943
17.2. ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ числа 947
17.2.1. ΠžΠ±Ρ‰Π΅Π΅ описаниС класса complex<> 947
17.2.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования класса complex<> 948
17.2.3. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ комплСксными числами 950
17.2.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса complex<> 957
17.3. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ числовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 962
17.4. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 964

Π“Π»Π°Π²Π° 18. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 967
18.1. ВысокоуровнСвый интСрфСйс: async() ΠΈ future<> 968
18.1.1. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ async() ΠΈ класса future<> 968
18.1.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ оТидания Π΄Π²ΡƒΡ… Π·Π°Π΄Π°Ρ‡ 978
18.1.3. РаздСляСмыС Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΡ‹ 983
18.2. НизкоуровнСвый интСрфСйс: ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈ обСщания 986
18.2.1. Класс std::thread 986
18.2.2. ΠžΠ±Π΅Ρ‰Π°Π½ΠΈΡ 992
18.2.3. Класс packaged_task<> 994
18.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 995
18.3.1. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ async() 996
18.3.2. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠΎΠ² 998
18.3.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС раздСляСмых Ρ„ΡŒΡŽΡ‡Π΅Ρ€ΡΠΎΠ² 999
18.3.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса std::promise 1000
18.3.5. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса std::packaged_task 1001
18.3.6. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса std::thread 1003
18.3.7. ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ this_thread 1004
18.4. Бинхронизация ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° конкурСнтности 1005
18.4.1. ΠžΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ! 1005
18.4.2. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ состязании Π·Π° Π΄Π°Π½Π½Ρ‹Π΅ 1006
18.4.3. Π§Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ создаСт ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹) 1007
18.4.4. Бпособы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ 1010
18.5. ΠœΡŒΡŽΡ‚Π΅ΠΊΡΡ‹ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ 1012
18.5.1. ИспользованиС ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠΎΠ² ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ 1012
18.5.2. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠΎΠ² ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ 1022
18.5.3. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 1025
18.6. УсловныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ 1027
18.6.1. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ условных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… 1027
18.6.2. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΡƒΡΠ»ΠΎΠ²Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… 1028
18.6.3. ИспользованиС условных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² 1030
18.6.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС условных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… 1033
18.7. АтомарныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ 1035
18.7.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ 1036
18.7.2. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΈΡ… Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ интСрфСйса 1040
18.7.3. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² стилС языка Π‘ 1042
18.7.4. НизкоуровнСвый интСрфСйс Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² 1044

Π“Π»Π°Π²Π° 19. РаспрСдСлитСли памяти 1047
19.1. ИспользованиС распрСдСлитСлСй памяти с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программиста 1047
19.2. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ памяти 1048
19.3. ИспользованиС распрСдСлитСлСй памяти с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ 1050

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1055
S.1. Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ мноТСства 1055
S.1.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… мноТСств 1056
S.1.2. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса bitset<> 1058
S.2. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1065
S.2.1. ОписаниС массивов Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1066
S.2.2. ΠŸΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° массивов Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1072
S.2.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС класса valarray 1086
S.2.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС классов подмноТСств массивов Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1093
S.3. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС распрСдСлитСлСй памяти ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ 1097
S.3.1. РаспрСдСлитСли памяти с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости 1098
S.3.2. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ распрСдСлитСли памяти Π² стандартС C++ 1099
S.3.3. Π Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ памяти ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 1102
S.3.4. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС распрСдСлитСлСй 1104
S.3.5. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ 1108

Библиография 1111
НовостныС Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ Ρ„ΠΎΡ€ΡƒΠΌΡ‹ 1111
Книги ΠΈ Π²Π΅Π±-сайты 1111
ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ 1117

Бписок Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ языка C++ — это… Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Бписок Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ языка C++?

ΠΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ языка C++ содСрТит ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ шаблонов ΠΈΠ»ΠΈ классов, доступных для использования ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС программирования C++. Бписок Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ упорядочСн ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ.

ΠžΠ±Ρ‰Π΅Π³ΠΎ назначСния

ΠΠ°Π·Π²Π°Π½ΠΈΠ΅Π“ΠΎΠ΄Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈΠ‘Π°ΠΉΡ‚Ρ‹ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС
ACDKArtefakturacdk.sf.net
sf.net/projects/acdk
ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания распрСдСлСнных сСрвСрных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠžΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ, сСтСвой Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΈ скриптов.
ACEACE TeamΠ‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Дугласа ШмидтаВысокоуровнСвыС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ C++ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ управлСния сСтСвыми Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ ΠΈ сСрвисами. Π’Π°ΠΊΠΈΠ΅ C++ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ содСрТат Π² сСбС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты мСТпроцСссного взаимодСйствия, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ для BSD ΠΈ System V Release 4, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сокСты, интСрфСйс транспортного уровня, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹, раздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ, сСмафоры, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ сообщСний ΠΈ Ρ‚. Π΄.
ADBLibАлСссандро Π‘Ρ€Π°Ρ‡Ρ‡ΠΈΠ½ΠΈΠ‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ классы ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… DAO. Π“Π»Π°Π²Π½Ρ‹ΠΌ достоинством Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΈΠ· написанной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ DAO.
Boost1999[1]Π‘Π΅ΠΌΠ°Π½ ДСйвс
Π”Π΅Π²ΠΈΠ΄ Абрахамс
www.boost.orgΠ‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΡƒΡŽ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π½Π° исслСдования ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ (ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ использованиСм шаблонов).
STL1993АлСксандр Π‘Ρ‚Π΅ΠΏΠ°Π½ΠΎΠ²
МСнг Π›ΠΈ
  • STLSoft (C++ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ) β€” cтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шаблонов
  • STLPort β€” cтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шаблонов
  • Electronic Arts Standard Template Library
  • C++ Templated Image Processing Library
  • Database Template Library
  • Windows Template Library (WTL)
  • Loki β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шаблонов для мСтапрограммирования ΠΈ автоматичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°
  • Native Template Library
  • POCO β€” C++ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
  • Eigen

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ / ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ

XML

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

  • Бписок компиляторов: C/C++ компиляторы

Бсылки

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C ++ | Programiz

C ++

C ++ fputws ()

записываСт ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку, ΠΊΡ€ΠΎΠΌΠ΅ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ символа для Π²Ρ‹Π²ΠΎΠ΄Π°

C ++ fwide ()

ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°

C ++ fgetwc ()

Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°

C ++ fgetws ()

Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°

C ++ fputwc ()

записываСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ Π² Π΄Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ

C ++ fwprintf ()

Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ

C ++ fwscanf ()

Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°

C ++ getwc ()

Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ ΠΈΠ· Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°

C ++ swscanf ()

Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ ΠΈΠ· ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ строкового Π±ΡƒΡ„Π΅Ρ€Π°

C ++ getwchar ()

Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°

C ++ ungetwc ()

Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΏΠΎΡ‚ΠΎΠΊ

C ++ putwc ()

записываСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ Π² Π΄Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ

C ++ vfwprintf ()

Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ

C ++ putwchar ()

записываСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ Π² стандартный Π²Ρ‹Π²ΠΎΠ΄

C ++ vfwscanf ()

Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ строку ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°

C ++ swprintf ()

Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку Π² ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ строковый Π±ΡƒΡ„Π΅Ρ€

C ++ vswprintf ()

Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку Π² ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ строковый Π±ΡƒΡ„Π΅Ρ€

C ++ vswscanf ()

Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ строку ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ строки

C ++ vwprintf ()

Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку Π² стандартный Π²Ρ‹Π²ΠΎΠ΄

C ++ vwscanf ()

Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°

C ++ wprintf ()

Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку Π² стандартный Π²Ρ‹Π²ΠΎΠ΄

C ++ wscanf ()

Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°

C ++ wcstok ()

Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΊΠ΅Π½ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ строкС с Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ

C ++ wcstod ()

ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² double

C ++ wcstof ()

ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΡƒΡŽ

C ++ wcstol ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅

C ++ wcstold ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² Π΄Π»ΠΈΠ½Π½ΡƒΡŽ Π΄Π²ΠΎΠΉΠ½ΡƒΡŽ

C ++ wcscat ()

добавляСт копию ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ строки Π² ΠΊΠΎΠ½Π΅Ρ† Π΄Ρ€ΡƒΠ³ΠΎΠΉ

C ++ mbsrtowcs ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов Π² ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов

C ++ wcschr ()

ΠΈΡ‰Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ строкС

C ++ btowc ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ Π² Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€

C ++ wcrtomb ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ Π² Π΅Π³ΠΎ ΡƒΠ·ΠΊΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ

C ++ mbrlen ()

опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ символа

C ++ wctob ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ Π² ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ символ

C ++ mbrtowc ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡƒΠ·ΠΊΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ символ Π² ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ

C ++ wcsrtombs ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов Π² ΡƒΠ·ΠΊΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов

C ++ mbsinit ()

ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС прСобразования mbstate_t obj

C ++ wcslen ()

Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ Π΄Π°Π½Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ строки

C ++ wcsncat ()

добавляСт ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ число ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ строкС

C ++ wcscmp ()

лСксикографичСски сравниваСт Π΄Π²Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ строки

C ++ wcsncmp ()

сравниваСт ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов строк

C ++ wcscpy ()

ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ строку ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов ΠΈΠ· источника Π² ΠΏΡƒΠ½ΠΊΡ‚ назначСния

C ++ wcscspn ()

Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ

C ++ wcspbrk ()

ΠΈΡ‰Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ строкС

C ++ wcsrchr ()

ΠΈΡ‰Π΅Ρ‚ послСднСС Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ символа Π² строку

C ++ wcsspn ()

Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ максимального Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСгмСнта

C ++ wcsstr ()

Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ подстроки Π² str

C ++ wcsncpy ()

ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов

C ++ wcsxfrm ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ

C ++ wmemchr ()

ΠΈΡ‰Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ символа

C ++ wcsftime ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя Π² ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ строку ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ символа

C ++ wmemcmp ()

сравниваСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ символы Π΄Π²ΡƒΡ… ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… строк

C ++ wmemcpy ()

ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ число ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов ΠΈΠ· src Π² dest

C ++ wmemmove ()

ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ символы с src Π½Π° dest

C ++ wmemset ()

ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ символ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ количСства Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

C ++ wcstoll ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π² int

C ++ wcstoul ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку Π΄Π°Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π² Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡƒΡŽ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ

C ++ wcstoull ()

ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ строку num Π² unsigned long long

C ++ wcscoll ()

сравниваСт Π΄Π²Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ строки с Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ

.Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° структуры Π΄Π°Π½Π½Ρ‹Ρ…

C — qaru

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

  1. Около
  2. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  3. Для ΠΊΠΎΠΌΠ°Π½Π΄
  1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹

  2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄
    Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ

  3. Вакансии
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста

  4. Π’Π°Π»Π°Π½Ρ‚
    НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля

  5. Π Π΅ΠΊΠ»Π°ΠΌΠ°
    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°

  6. О компании

Загрузка…

  1. ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ
    Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ

  2. Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ сообщСство

    • ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *