Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet220/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   216   217   218   219   220   221   222   223   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Другие средства стандартной библиотеки
Êðîìå ðaññìîòðåííûõ, ñòaíäaðòíaя áèáëèîòåêa C++ ñîäåðæèò ñðåäñòâa ïîä- äåðæêè яçûêa, äèaãíîñòèêè, ëîêaëèçaöèè, ðaáîòû ñ êîìïëåêñíûìè ÷èñëaìè, áî- ëåå 200 ôóíêöèé, óíañëåäîâaííûõ èç ñòaíäaðòíîé áèáëèîòåêè C, a òaêæå òèïîâ äëя èõ ïîääåðæêè è ìaêðîñîâ.
Cðåäñòâa ïîääåðxnè яçûna âêëþ÷aþò îïèñaíèя ôóíêöèé è òèïîâ, êîòîðûå äîëæ- íû ïðèñóòñòâîâaòü ïðè âûïîëíåíèè ïðîãðaììû. Îíè âêëþ÷aþò â ñåáя ïîääåðæ- êó çaïóñêa è çaâåðøåíèя ïðîãðaììû, îïåðaöèé new è delete, îïèñaíèå ñâîéñòâ âñòðîåííûõ òèïîâ äaííûõ, äèíaìè÷åñêóþ èäåíòèôèêaöèþ òèïîâ, îáðaáîòêó èñ- êëþ÷åíèé è äðóãèå ñðåäñòâa âðåìåíè âûïîëíåíèя. Ýòè ñðåäñòâa ïðåäñòaâëåíû â çaãîëîâî÷íûõ ôaéëaõ , , , , , ,
, , , , , .
 áèáëèîòåêå (ôaéë ) îïðåäåëåí øaáëîí êëañña numeriC_limits, â êîòîðîì îïðåäåëяþòñя ñâîéñòâa òèïa äaííûõ, çaâèñяùèå îò ðåaëèçaöèè: äèaïaçîí, òî÷- íîñòü, íaëè÷èå çíaêa è ò. ä. Äëя êaæäîãî èç îñíîâíûõ òèïîâ äaííûõ îïðåäåëåía ñïåöèaëèçaöèя øaáëîía numeriC_limits. Ýòè æå õaðaêòåðèñòèêè îïðåäåëяþòñя è â êîíñòaíòaõ, îïèñaííûõ â çaãîëîâî÷íûõ ôaéëaõ è , óíañëåäîâaí- íûõ èç áèáëèîòåêè C, íaïðèìåð:
FLT_DIG — êîëè÷åñòâî âåðíûõ çía÷aùèõ öèôð â âåëè÷èíå òèïa flOat;
FLT_MIN — ìèíèìaëüíîå íîðìaëèçîâaííîå ÷èñëî ñ ïëaâaþùåé òî÷êîé, êîòîðîå ìîæåò áûòü ïðåäñòaâëåíî òèïîì flOat;
UINT_MAX — ìaêñèìaëüíîå çía÷åíèå, êîòîðîå ìîæåò ïðèíèìaòü âåëè÷èía òèïa
unsigned int (äîëæíî áûòü íå ìåíåå 65 535). Ïîëíîñòüþ ýòè êîíñòaíòû îïèñaíû â ïðèëîæåíèè 5.
Äëя îáðaáîònè îøèáîn ïðè âûäåëåíèè ïaìяòè â áèáëèîòåêå îïèñaí êëaññ bad_allOC, òèï ôóíêöèé-îáðaáîò÷èêîâ îøèáîê new_handler è ôóíêöèя óñòaíîâêè íîâîãî îáðaáîò÷èêa set_new_handler.
Глава 16. Другие средства стандартной библиотеки 379

Ìåõaíèçì îáðaáîòêè îøèáîê âûäåëåíèя ïaìяòè ñëåäóþùèé: åñëè îïåðaöèя new íå ìîæåò âûäåëèòü òðåáóåìîå êîëè÷åñòâî äèíaìè÷åñêîé ïaìяòè, îía âûçûâaåò ôóíêöèþ-îáðaáîò÷èê òèïa new_handler, êîòîðûé äîëæåí ëèáî ïîïûòaòüñя îñâîáî- äèòü ïaìяòü, ëèáî ïîðîäèòü èñêëþ÷åíèå â âèäå îáúåêòa êëañña bad_allOC èëè ïðî- èçâîäíîãî îò íåãî, ëèáî âûçâaòü ôóíêöèþ abOrt èëè exit äëя çaâåðøåíèя ïðî- ãðaììû. Ôóíêöèя set_new_handler èñïîëüçóåòñя äëя óñòaíîâêè ñîáñòâåííîãî îáðaáîò÷èêa âìåñòî ñòaíäaðòíîãî. Êaê ïðaâèëî, îía ïðèìåíяåòñя ïðè ïåðåãðóçêå îïåðaöèé new è delete.


Äëя ïîääåðxnè äèíaìè÷åñnîñ èäåíòèôènaöèè òèïîâ â áèáëèîòåêå îïðåäåëåí êëaññ type_infO, ðaññìîòðåííûé â ðaçäåëå «Ïðåîáðaçîâaíèя òèïîâ» ía ñ. 231, a òaêæå êëaññû èñêëþ÷åíèé bad_Cast è bad_typeid.
Âñå ñòaíäaðòíûå èñnëþ÷åíèя яâëяþòñя ïîòîìêaìè îïèñaííîãî â çaãîëîâî÷íîì ôaéëå êëañña exCeptiOn.
Cðåäñòâa äèaãíîñòènè âêëþ÷aþò â ñåáя ñòaíäaðòíûå êëaññû è ôóíêöèè, êîòîðûå èñïîëüçóþòñя äëя äèaãíîñòèêè îøèáîê, âîçíèêaþùèõ â ïðîöåññå ðaáîòû ïðî- ãðaììû. Âñå îøèáêè ïîäðaçäåëяþòñя ía ëîãè÷åñnèå (lOgiC_errOr), êîòîðûå â ïðèíöèïå ìîæíî îáíaðóæèòü äî çaïóñêa ïðîãðaììû, è îøèánè âðåìåíè âûïîëíå- íèя (runtime_errOr).  áèáëèîòåêå îïðåäåëåía ïðîñòaя èåðaðõèя êëaññîâ èñêëþ-
÷åíèé, êîòîðaя äîëæía ñëóæèòü îñíîâîé äëя èñêëþ÷åíèé, ñîçäaâaåìûõ ïðîãðaì- ìèñòîì:



exception
bad_alloc bad_cast bad_typeid bad_exception logic_error


length_error domain_error out_of_range invalid_argument

runtime_error
range_error overflow_error underflow_error



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   216   217   218   219   220   221   222   223   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish