Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«QT 4: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ GUI Π½Π° Π‘++Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 122

Автор Жасмин Π‘Π»Π°Π½ΡˆΠ΅Ρ‚

class UniChar

{

public:

#if BYTE_ORDER == BIG_ENDIAN

uchar row;

uchar cell;

#elif BYTE_ORDER == LITTLE_ENDIAN

uchar cell;

uchar row;

#else

#error "BYTE_ORDER must be BIG_ENDIAN or LITTLE_ENDIAN"

#endif

};

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

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

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассмотрим ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π‘++. На рис. Π‘.Π— приводится список Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π‘++:

β€’ <bitset> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс для прСдставлСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π±ΠΈΡ‚ΠΎΠ² фиксированной Π΄Π»ΠΈΠ½Ρ‹,

β€’ <complex> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс для прСдставлСния комплСксных чисСл,

β€’ <exception> β€” Ρ‚ΠΈΠΏΡ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, относящиСся ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ,

β€’ <limits> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ свойства числовых Ρ‚ΠΈΠΏΠΎΠ²,

β€’ <locale> β€” классы ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, относящиСся ΠΊ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ,

β€’ <new> β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ динамичСским распрСдСлСниСм памяти,

β€’ <stdexcept> β€” Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ для Π²Ρ‹Π²ΠΎΠ΄Π° сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…,

β€’ <string> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ строковый ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ свойства символов,

β€’ <typeinfo> β€” класс, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΌΠ΅Ρ‚Π°ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ…,

β€’ <valarray> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ классы для прСдставлСния массивов Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ <exception>, <limits>, <new> ΠΈ <typeinfo> ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ возмоТности языка Π‘++; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, <limits> позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ возмоТности ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ компилятором цСлочислСнной Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ ΠΈ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, a <typeinfo> ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ основныС срСдства Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ…. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ классы, Π² Ρ‚ΠΎΠΌ числС класс строки ΠΈ Ρ‚ΠΈΠΏ комплСксных чисСл. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, прСдлагаСмая Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ <bitset>, <locale>, <string> ΠΈ <typeinfo>, свободно пСрСкрываСтся Π² Qt классами QBitArray, QLocale, QString ΠΈ QMetaObject.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π‘++ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ряд Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π²Π²ΠΎΠ΄β€”Π²Ρ‹Π²ΠΎΠ΄ (см. рис. Π‘.4):

β€’ <fstream> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ классы, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ внСшними Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ,

β€’ <iomanip> β€” манипуляторы ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°β€”Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚,

β€’ <ios> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°β€”Π²Ρ‹Π²ΠΎΠ΄Π°,

β€’ <iosfwd> β€” ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ объявлСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… классов ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°β€”Π²Ρ‹Π²ΠΎΠ΄Π°,

β€’ <iostream> β€” стандартныС ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°β€”Π²Ρ‹Π²ΠΎΠ΄Π° (cin, cout, cerr, ctog),

β€’ <istream> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΠΎΡ‚ΠΎΠΊΠ°,

β€’ <ostream> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠ°,

β€’ <sstream> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ классы, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² со строками,

β€’ <streambuf> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ классы, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°β€”Π²Ρ‹Π²ΠΎΠ΄Π°,

β€’ <strstream> β€” классы для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° с массивами символов.

ΠšΠ»Π°ΡΡΡ‹ стандартного Π²Π²ΠΎΠ΄Π°β€”Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π² 80-Ρ… Π³ΠΎΠ΄Π°Ρ… ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ излишнСй ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎ сильно затрудняСт ΠΈΡ… ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ этой Ρ‚Π΅ΠΌΠ΅ Π±Ρ‹Π»ΠΈ посвящСны Ρ†Π΅Π»Ρ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, программист остаСтся Π½Π°Π΅Π΄ΠΈΠ½Π΅ с ящиком ΠŸΠ°Π½Π΄ΠΎΡ€Ρ‹ Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ символов ΠΈ зависимого ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния элСмСнтарных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Π³Π»Π°Π²Π΅ 12 (Β«Π’Π²ΠΎΠ΄β€”Π²Ρ‹Π²ΠΎΠ΄Β») прСдставлСны ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы Qt, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π²Π²ΠΎΠ΄β€”Π²Ρ‹Π²ΠΎΠ΄ символов Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Unicode, Π° Ρ‚Π°ΠΊΠΆΠ΅ большой Π½Π°Π±ΠΎΡ€ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ нСзависимого ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ хранСния Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Qt—классы Π²Π²ΠΎΠ΄Π°β€”Π²Ρ‹Π²ΠΎΠ΄Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ основу ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ мСТпроцСссной связи, Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСтями ΠΈ XML. Qt—классы Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΈ тСкстовых ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Π½Π°Ρ‡Π°Π»Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² Π±Ρ‹Π»Π° Π²Π²Π΅Π΄Π΅Π½Π° стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° шаблонов (Standard Template Library β€” STL), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой Π½Π°Π±ΠΎΡ€ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… классов-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вошли Π² стандарт ISO Π‘++ Π² послСдний ΠΌΠΎΠΌΠ΅Π½Ρ‚. На рис. Π‘.5 приводится список Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ STL:

β€’ <algorithm> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния,

β€’ <deque> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ с двумя ΠΊΠΎΠ½Ρ†Π°ΠΌΠΈ,

β€’ <functional> β€” ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ,

β€’ <iterator> β€” ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ,

β€’ <list> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ двусвязного списка,

β€’ <map> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ассоциативных массивов, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ с нСсколькими значСниями,

β€’ <memory> β€” ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ,

β€’ <numeric> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с числами,

β€’ <queue> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ,

β€’ <set> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π½Π°Π±ΠΎΡ€ΠΎΠ², Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈ Π½Π΅Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠ΅ повторСния элСмСнтов,

β€’ <stack> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ стСка,

β€’ <utility> β€” основныС ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ,

β€’ <vector> β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ STL Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ, ΠΏΠΎΡ‡Ρ‚ΠΈ с матСматичСской Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΈ обСспСчиваСт ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Qt прСдоставляСт свои собствСнныС классы—контСйнСры, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… отчасти инспирирована STL. Они ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π²Π΅ 11.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π‘++ фактичСски являСтся супСрмноТСством ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ языка программирования Π‘, программисты Π‘++ ΠΈΠΌΠ΅ΡŽΡ‚ Π² своСм распоряТСнии Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π‘. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘ доступны ΠΊΠ°ΠΊ с ΠΈΡ… Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, <stdio.h>), Ρ‚Π°ΠΊ ΠΈ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ с с—прСфиксом ΠΈ Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .h (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, <cstdio>). Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ новая вСрсия ΠΈΠΌΠ΅Π½ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² пространствС ΠΈΠΌΠ΅Π½ std. (Π­Ρ‚ΠΎ Π½Π΅ относится ΠΊ Ρ‚Π°ΠΊΠΈΠΌ макросам, ΠΊΠ°ΠΊ ASSERT(), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ прСпроцСссор Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° пространства ΠΈΠΌΠ΅Π½.) РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ обозначСния ΠΈΠΌΠ΅Π½, Ссли Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ваш компилятор.

На рис. Π‘.6 приводится список Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘:

β€’ <cassert> β€” макрос ASSERT(),

β€’ <cctype> β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ классификации ΠΈ отобраТСния символов,

β€’ <cerrno> β€” макросы, относящиСся ΠΊ сообщСниям ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… ситуациях,

β€’ <cfloat> β€” макросы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ свойства элСмСнтарных Ρ‚ΠΈΠΏΠΎΠ² чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ,

β€’ <ciso646> β€” Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ прСдставлСниС для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π°Π±ΠΎΡ€Π° символов ISO 646,

β€’ <climits> β€” макросы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ свойства элСмСнтарных цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ²,

β€’ <clocale> β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΡ‹, относящиСся ΠΊ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ,

β€’ <cmath> β€” матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ константы,

β€’ <csetjmp> β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для выполнСния Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²,

β€’ <csignal> β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ систСмных сигналов,

β€’ <cstdarg> β€” макросы для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числом Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²,

β€’ <cstddef> β€” опрСдСлСния, ΠΎΠ±Ρ‰ΠΈΠ΅ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стандартных Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²,

β€’ <cstdio> β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°β€”Π²Ρ‹Π²ΠΎΠ΄Π°,

β€’ <cstdlib> β€” ΠΎΠ±Ρ‰ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ,

β€’ <cstring> β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для манипулирования массивами char,

β€’ <ctime> β€” Ρ‚ΠΈΠΏΡ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для манипулирования Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ,

β€’ <cwchar> β€” ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ символами ΠΈ символами Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ,

β€’ <cwctype> β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ классификации ΠΈ отобраТСния символов Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, которая пСрСкрываСтся Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π‘++ ΠΈΠ»ΠΈ Qt. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ β€” <cmath>, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ sin(), sqrt() ΠΈ pow().

Π­Ρ‚ΠΈΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ наш ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘++. Π’ сСти Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Β«DinkumwareΒ» ΠΏΠΎΠ»Π½ΠΎΠ΅ справочноС руководство ΠΏΠΎ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π‘++, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ΅ Π½Π° Π²Π΅Π±-страницС http://www.dinkumware.com/refxcpp.html, ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Β«SGIΒ» ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство программиста ΠΏΠΎ STL, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ΅ Π½Π° Π²Π΅Π±-страницС http://www.sgi.com/tech/stl/. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘++ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² стандартах Π‘ ΠΈ Π‘++ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² PDF ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Π±ΡƒΠΌΠ°ΠΆΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ стандартизации (International Organization for Standardization β€” ISO).