Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
67
Добавлен:
26.05.2014
Размер:
32.97 Кб
Скачать

чЩТБЦЕОЙС. уРТБЧПЮОПЕ ТХЛПЧПДУФЧП РП C++ TH.arial { font-family: Arial, Serif;} P.topic { font-family: sans-serif;} A.plain { text-decoration: none;} A.topic01 { color: #006890; font-family: sans-serif; text-decoration: none;} A.topic02 { color: #099771; font-family: sans-serif; text-decoration: none;} A.topic03 { color: #719709; font-family: sans-serif; text-decoration: none;} A.topic04 { color: #98650A; font-family: sans-serif; text-decoration: none;} A.topic05 { color: #98340A; font-family: sans-serif; text-decoration: none;} A.topic06 { color: #099607; font-family: sans-serif; text-decoration: none;} A.topic07 { color: #9E1215; font-family: sans-serif; text-decoration: none;} A.topic08 { color: #970941; font-family: sans-serif; text-decoration: none;} A.topic09 { color: #950995; font-family: sans-serif; text-decoration: none;} A.topic010 { color: #390A98; font-family: sans-serif; text-decoration: none;} H1 { font-family: sans-serif;} H2 { font-family: sans-serif;} H3 { font-family: sans-serif;} H4 { font-family: sans-serif;} H5 { font-family: sans-serif;} H6 { font-family: sans-serif;} уЕТЧЕТ РПДДЕТЦЙЧБЕФУС

гЕОФТПН йОЖПТНБГЙПООЩИ фЕИОПМПЗЙК

(095) 932-9212, 932-9213, 939-0783

E-mail: info@citforum.ru уЕТЧЕТ УПДЕТЦЙФ НПТЕ(!) БОБМЙФЙЮЕУЛПК ЙОЖПТНБГЙЙ CIT Forum CD-ROM 7. чЩТБЦЕОЙС рТЙПТЙФЕФ ПРЕТБГЙК Ч ЧЩТБЦЕОЙСИ ФБЛПК ЦЕ, ЛБЛ Й РПТСДПЛ ЗМБЧОЩИ РПДТБЪДЕМПЧ Ч ЬФПН ТБЪДЕМЕ, ОБЙВПМШЫЙК РТЙПТЙФЕФ Х РЕТЧПЗП. фБЛ ОБРТЙНЕТ, ЧЩТБЦЕОЙС, П ЛПФПТЩИ ЗПЧПТЙФУС ЛБЛ ПВ ПРЕТБОДБИ ПРЕТБГЙЙ + (#7.4) - ЬФП ФЕ ЧЩТБЦЕОЙС, ЛПФПТЩЕ ПРТЕДЕМЕОЩ Ч ##7.1-7.4. чОХФТЙ ЛБЦДПЗП РПДТБЪДЕМБ ПРЕТБГЙЙ ЙНЕАФ ПДЙОБЛПЧЩК РТЙПТЙФЕФ. ч ЛБЦДПН РПДТБЪДЕМЕ ДМС ТБУУНБФТЙЧБЕНЩИ Ч ОЕН ПРЕТБГЙК ПРТЕДЕМСЕФУС ЙИ МЕЧБС ЙМЙ РТБЧБС БУУПГЙБФЙЧОПУФШ (РПТСДПЛ ПВТБВПФЛЙ ПРЕТБОДПЧ). рТЙПТЙФЕФ Й БУУПГЙБФЙЧОПУФШ ЧУЕИ ПРЕТБГЙК УПВТБО ЧНЕУФЕ Ч ПРЙУБОЙЙ ЗТБННБФЙЛЙ Ч #14 . ч ПУФБМШОЩИ УМХЮБСИ РПТСДПЛ ЧЩЮЙУМЕОЙС ЧЩТБЦЕОЙС ОЕ ПРТЕДЕМЕО. фПЮОЕЕ, ЛПНРЙМСФПТ ЧПМЕО ЧЩЮЙУМСФШ РПДЧЩТБЦЕОЙС Ч ФПН РПТСДЛЕ, ЛПФПТЩК ПО УЮЙФБЕФ ВПМЕЕ ЬЖЖЕЛФЙЧОЩН, ДБЦЕ ЕУМЙ РПДЧЩТБЦЕОЙС ЧЩЪЩЧБАФ РПВПЮОЩЕ ЬЖЖЕЛФЩ. рПТСДПЛ ЧПЪОЙЛОПЧЕОЙС РПВПЮОЩИ ЬЖЖЕЛФПЧ ОЕ ПРТЕДЕМЕО. чЩТБЦЕОЙС, ЧЛМАЮБАЭЙЕ Ч УЕВС ЛПННХФБФЙЧОЩЕ Й БУУПГЙБФЙЧОЩЕ ПРЕТБГЙЙ (*, +, &, |, ^), НПЗХФ ВЩФШ ТЕПТЗБОЙЪПЧБОЩ РТПЙЪЧПМШОЩН ПВТБЪПН, ДБЦЕ РТЙ ОБМЙЮЙЙ УЛПВПЛ; ДМС ЪБДБОЙС ПРТЕДЕМЕООПЗП РПТСДЛБ ЧЩЮЙУМЕОЙС ЧЩТБЦЕОЙС ОЕПВИПДЙНП ЙУРПМШЪПЧБФШ СЧОХА ЧТЕНЕООХА РЕТЕНЕООХА. пВТБВПФЛБ РЕТЕРПМОЕОЙС Й ЛПОФТПМШ ДЕМЕОЙС РТЙ ЧЩЮЙУМЕОЙЙ ЧЩТБЦЕОЙС НБЫЙООП-ЪБЧЙУЙНЩ. ч ВПМШЫЙОУФЧЕ УХЭЕУФЧХАЭЙИ ТЕБМЙЪБГЙК C++ РЕТЕРПМОЕОЙЕ ГЕМПЗП ЙЗОПТЙТХЕФУС; ПВТБВПФЛБ ДЕМЕОЙС ОБ 0 Й ЧУЕИ ЙУЛМАЮЙФЕМШОЩИ УЙФХБГЙК У ЮЙУМБНЙ У РМБЧБАЭЕК ФПЮЛПК ТБЪМЙЮБАФУС ПФ НБЫЙОЩ Л НБЫЙОЕ Й ПВЩЮОП НПЗХФ ТЕЗХМЙТПЧБФШУС ВЙВМЙПФЕЮОЩНЙ ЖХОЛГЙСНЙ. лТПНЕ УФБОДБТФОПЗП ЪОБЮЕОЙС, ПРЙУБООПЗП Ч #7.2-7.15, ПРЕТБГЙЙ НПЗХФ ВЩФШ РЕТЕЗТХЦЕОЩ*, ФП ЕУФШ, НПЗХФ ВЩФШ ЪБДБОЩ ЙИ ЪОБЮЕОЙС ДМС УМХЮБС ЙИ РТЙНЕОЕОЙС Л ФЙРБН, ПРТЕДЕМСЕНЩН РПМШЪПЧБФЕМЕН; УН. #7.1.6. 7.1 пУОПЧОЩЕ ЧЩТБЦЕОЙС пУОПЧОЩЕ ЧЩТБЦЕОЙС, ЧЛМАЮБАЭЙЕ Ч УЕВС . , -> , ЙОДЕЛУЙТПЧБОЙЕ Й ЧЩЪПЧЩ ЖХОЛГЙК, ЗТХРРЙТХАФУС УМЕЧБ ОБРТБЧП. УРЙУПЛ_ЧЩТБЦЕОЙК: ЧЩТБЦЕОЙЕ УРЙУПЛ_ЧЩТБЦЕОЙК , ЧЩТБЦЕОЙЕ id: ЙДЕОФЙЖЙЛБФПТ ЙНС_ЖХОЛГЙЙ_ПРЕТБГЙЙ typedef-ЙНС :: ЙДЕОФЙЖЙЛБФПТ typedef-ЙНС :: ЙНС_ЖХОЛГЙЙ_ПРЕТБГЙЙ РЕТЧЙЮОПЕ_ЧЩТБЦЕОЙЕ: id :: ЙДЕОФЙЖЙЛБФПТ ЛПОУФБОФБ УФТПЛБ this ( ЧЩТБЦЕОЙЕ ) РЕТЧЙЮОПЕ_ЧЩТБЦЕОЙЕ [ ЧЩТБЦЕОЙЕ ] РЕТЧЙЮОПЕ_ЧЩТБЦЕОЙЕ ( УРЙУПЛ_ЧЩТБЦЕОЙК opt ) РЕТЧЙЮОПЕ_ЧЩТБЦЕОЙЕ . id РЕТЧЙЮОПЕ_ЧЩТБЦЕОЙЕ -> id йДЕОФЙЖЙЛБФПТ ЕУФШ РЕТЧЙЮОПЕ ЧЩТБЦЕОЙЕ, РТЙЮЕН УППФЧЕФУФЧЕООП ПРЙУБООПЕ (#8). йНС_ЖХОЛГЙЙ_ПРЕТБГЙЙ ЕУФШ ЙДЕОФЙЖЙЛБФПТ УП УРЕГЙБМШОЩН ЪОБЮЕОЙЕН; УН. #7.1.6 Й #8.5.1. пРЕТБГЙС ::, ЪБ ЛПФПТПК УМЕДХЕФ ЙДЕОФЙЖЙЛБФПТ ЙЪ ЖБКМПЧПК ПВМБУФЙ ЧЙДЙНПУФЙ, ЕУФШ ФП ЦЕ, ЮФП Й ЙДЕОФЙЖЙЛБФПТ. ьФП РПЪЧПМСЕФ УУЩМБФШУС ОБ ПВЯЕЛФ ДБЦЕ Ч ФПН УМХЮБЕ, ЛПЗДБ ЕЗП ЙДЕОФЙЖЙЛБФПТ УЛТЩФ (#4.1). Typedef-ЙНС (#8.8) , ЪБ ЛПФПТЩН УМЕДХЕФ ::, РПУМЕ ЮЕЗП УМЕДХЕФ ЙДЕОФЙЖЙЛБФПТ, СЧМСЕФУС РЕТЧЙЮОЩН ЧЩТБЦЕОЙЕН. Typedef-ЙНС ДПМЦОП ПВПЪОБЮБФШ ЛМБУУ (#8.5), Й ЙДЕОФЙЖЙЛБФПТ ДПМЦЕО ПВПЪОБЮБФШ ЮМЕО ЬФПЗП ЛМБУУБ. еЗП ФЙР УРЕГЙЖЙГЙТХЕФУС ПРЙУБОЙЕН ЙДЕОФЙЖЙЛБФПТБ. Typedef-ЙНС НПЦЕФ ВЩФШ УЛТЩФП ЙНЕОЕН, ЛПФПТПЕ ОЕ СЧМСЕФУС ЙНЕОЕН ФЙРБ. ч ЬФПН УМХЮБЕ typedef-ЙНС ЧУЕ ТБЧОП НПЦЕФ ВЩФШ ОБКДЕОП Й ЕЗП НПЦОП ЙУРПМШЪПЧБФШ. лПОУФБОФБ СЧМСЕФУС РЕТЧЙЮОЩН ЧЩТБЦЕОЙЕН. еЕ ФЙР ДПМЦЕО ВЩФШ int, long ЙМЙ double Ч ЪБЧЙУЙНПУФЙ ПФ ЕЕ ЖПТНЩ. уФТПЛБ СЧМСЕФУС РЕТЧЙЮОЩН ЧЩТБЦЕОЙЕН. еЕ ФЙР - "НБУУЙЧ УЙНЧПМПЧ". пВЩЮОП ПО УТБЪХ ЦЕ РТЕПВТБЪХЕФУС Ч ХЛБЪБФЕМШ ОБ ЕЕ РЕТЧЩК УЙНЧПМ (#6.7). лМАЮЕЧПЕ УМПЧП this СЧМСЕФУС МПЛБМШОПК РЕТЕНЕООПК Ч ФЕМЕ ЖХОЛГЙЙ ЮМЕОБ (УН. #8.5) . пОП СЧМСЕФУС ХЛБЪБФЕМЕН ОБ ПВЯЕЛФ, ДМС ЛПФПТПЗП ЖХОЛГЙС ВЩМБ ЧЩЪЧБОБ. чЩТБЦЕОЙЕ, ЪБЛМАЮЕООПЕ Ч ЛТХЗМЩЕ УЛПВЛЙ, СЧМСЕФУС РЕТЧЙЮОЩН ЧЩТБЦЕОЙЕН, ЮЕК ФЙР Й ЪОБЮЕОЙЕ ФЕ ЦЕ, ЮФП Й Х ОЕЪБЛМАЮЕООПЗП Ч УЛПВЛЙ ЧЩТБЦЕОЙС. оБМЙЮЙЕ УЛПВПЛ ОЕ ЧМЙСЕФ ОБ ФП, СЧМСЕФУС ЧЩТБЦЕОЙЕ lvalue ЙМЙ ОЕФ. рЕТЧЙЮОПЕ ЧЩТБЦЕОЙЕ, ЪБ ЛПФПТЩН УМЕДХЕФ ЧЩТБЦЕОЙЕ Ч ЛЧБДТБФОЩИ УЛПВЛБИ, СЧМСЕФУС РЕТЧЙЮОЩН ЧЩТБЦЕОЙЕН. йОФХЙФЙЧОЩК УНЩУМ - ЙОДЕЛУ. пВЩЮОП РЕТЧЙЮОПЕ ЧЩТБЦЕОЙЕ ЙНЕЕФ ФЙР "ХЛБЪБФЕМШ ОБ ...", ЙОДЕЛУЙТХАЭЕЕ ЧЩТБЦЕОЙЕ ЙНЕЕФ ФЙР int Й ФЙР ТЕЪХМШФБФБ ЕУФШ "...". чЩТБЦЕОЙЕ е1[е2] ЙДЕОФЙЮОП (РП ПРТЕДЕМЕОЙА) ЧЩТБЦЕОЙА *((E1)+(E2)). чУЕ ФПОЛЙЕ НЕУФБ, ОЕПВИПДЙНЩЕ ДМС РПОЙНБОЙС ЬФПК ЪБРЙУЙ, УПДЕТЦБФУС Ч ЬФПН ТБЪДЕМЕ ЧНЕУФЕ У ПВУХЦДЕОЙЕН Ч ## 7.1, 7.2 Й 7.4, УППФЧЕФУФЧЕООП, ЙДЕОФЙЖЙЛБФПТПЧ, * Й + ; ОЙЦЕ, Ч #8.4.2 РТЙЧПДСФУС УМЕДУФЧЙС ЙЪ ЬФПЗП. чЩЪПЧ ЖХОЛГЙЙ СЧМСЕФУС РЕТЧЙЮОЩН ЧЩТБЦЕОЙЕН, ЪБ ЛПФПТЩН УМЕДХАФ УЛПВЛЙ, УПДЕТЦБЭЙЕ УРЙУПЛ (ЧПЪНПЦОП, РХУФПК) ТБЪДЕМЕООЩИ ЪБРСФЩНЙ ЧЩТБЦЕОЙК, УПУФБЧМСАЭЙИ ЖБЛФЙЮЕУЛЙЕ РБТБНЕФТЩ ДМС ЖХОЛГЙЙ. рЕТЧЙЮОПЕ ЧЩТБЦЕОЙЕ ДПМЦОП ЙНЕФШ ФЙР "ЖХОЛГЙС, ЧПЪЧТБЭБАЭБС ..." ЙМЙ "ХЛБЪБФЕМШ ОБ ЖХОЛГЙА, ЧПЪЧТБЭБАЭХА ...", Й ТЕЪХМШФБФ ЧЩЪПЧБ ЖХОЛГЙЙ ЙНЕЕФ ФЙР "...". лБЦДЩК ЖПТНБМШОЩК РБТБНЕФТ ЙОЙГЙБМЙЪЙТХЕФУС ЖБЛФЙЮЕУЛЙН РБТБНЕФТПН (#8.6). чЩРПМОСАФУС УФБОДБТФОЩЕ (#6.6-8) Й ПРТЕДЕМСЕНЩЕ РПМШЪПЧБФЕМЕН РТЕПВТБЪПЧБОЙС (#8.5.6). жХОЛГЙС НПЦЕФ ЙЪНЕОСФШ ЪОБЮЕОЙС УЧПЙИ ЖПТНБМШОЩИ РБТБНЕФТПЧ, ОП ЬФЙ ЙЪНЕОЕОЙС ОЕ НПЗХФ РПЧМЙСФШ ОБ ЪОБЮЕОЙС ЖБЛФЙЮЕУЛЙИ РБТБНЕФТПЧ ЪБ ЙУЛМАЮЕОЙЕН УМХЮБС, ЛПЗДБ ЖПТНБМШОЩК РБТБНЕФТ ЙНЕЕФ УУЩМПЮОЩК ФЙР. жХОЛГЙС НПЦЕФ ВЩФШ ПРЙУБОБ ЛБЛ РПМХЮБАЭБС НЕОШЫЕ ЙМЙ ВПМШЫЕ РБТБНЕФТПЧ, ЮЕН УРЕГЙЖЙГЙТПЧБОП Ч ПРЙУБОЙЙ ЖХОЛГЙЙ (#8.4). лБЦДЩК ЖБЛФЙЮЕУЛЙК РБТБНЕФТ ФЙРБ float, ДМС ЛПФПТПЗП ОЕФ ЖПТНБМШОПЗП РБТБНЕФТБ, РТЕПВТБЪХАФУС Л ФЙРХ double; Й, ЛБЛ ПВЩЮОП, ЙНЕОБ НБУУЙЧПЧ РТЕПВТБЪХАФУС Л ХЛБЪБФЕМСН. рПТСДПЛ ЧЩЮЙУМЕОЙС РБТБНЕФТПЧ ОЕ ПРТЕДЕМЕО СЪЩЛПН; ЙНЕКФЕ Ч ЧЙДХ ТБЪМЙЮЙС НЕЦДХ ЛПНРЙМСФПТБНЙ. дПРХУФЙНЩ ТЕЛХТУЙЧОЩЕ ЧЩЪПЧЩ МАВЩИ ЖХОЛГЙК. рЕТЧЙЮОПЕ ЧЩТБЦЕОЙЕ, РПУМЕ ЛПФПТПЗП УФПЙФ ФПЮЛБ, ЪБ ЛПФПТПК УМЕДХЕФ ЙДЕОФЙЖЙЛБФПТ (ЙМЙ ЙДЕОФЙЖЙЛБФПТ, ХФПЮОЕООЩК typedef-ЙНЕОЕН У РПНПЭША ПРЕТБГЙЙ ::) СЧМСЕФУС ЧЩТБЦЕОЙЕН. рЕТЧПЕ ЧЩТБЦЕОЙЕ ДПМЦОП ВЩФШ ПВЯЕЛФПН ЛМБУУБ, Б ЙДЕОФЙЖЙЛБФПТ ДПМЦЕО ЙНЕОПЧБФШ ЮМЕО ЬФПЗП ЛМБУУБ. ъОБЮЕОЙЕН СЧМСЕФУС ЙНЕОПЧБООЩК ЮМЕО ПВЯЕЛФБ, Й ПОП СЧМСЕФУС БДТЕУОЩН, ЕУМЙ РЕТЧПЕ ЧЩТБЦЕОЙЕ СЧМСЕФУС БДТЕУОЩН. уМЕДХЕФ ПФНЕФЙФШ, ЮФП "ЛМБУУПЧЩЕ ПВЯЕЛФЩ" НПЗХФ ВЩФШ УФТХЛФХТБНЙ (#8.5.12) ЙМЙ ПВЯЕДЙОЕОЙСНЙ (#8.5.13). рЕТЧЙЮОПЕ ЧЩТБЦЕОЙЕ, РПУМЕ ЛПФПТПЗП УФПЙФ УФТЕМЛБ ( -> ), ЪБ ЛПФПТПК УМЕДХЕФ ЙДЕОФЙЖЙЛБФПТ (ЙМЙ ЙДЕОФЙЖЙЛБФПТ, ХФПЮОЕООЩК typedef-ЙНЕОЕН У РПНПЭША ПРЕТБГЙЙ ::) СЧМСЕФУС ЧЩТБЦЕОЙЕН. рЕТЧПЕ ЧЩТБЦЕОЙЕ ДПМЦОП ВЩФШ ХЛБЪБФЕМЕН ОБ ПВЯЕЛФ ЛМБУУБ, Б ЙДЕОФЙЖЙЛБФПТ ДПМЦЕО ЙНЕОПЧБФШ ЮМЕО ЬФПЗП ЛМБУУБ. ъОБЮЕОЙЕ СЧМСЕФУС БДТЕУПН, УУЩМБАЭЙНУС ОБ ЙНЕОПЧБООЩК ЮМЕО ЛМБУУБ, ОБ ЛПФПТЩК ХЛБЪЩЧБЕФ ХЛБЪБФЕМШОПЕ ЧЩТБЦЕОЙЕ. фБЛ, ЧЩТБЦЕОЙЕ E1->MOS ЕУФШ ФП ЦЕ, ЮФП Й (*E1).MOS. лМБУУЩ ПВУХЦДБАФУС Ч #8.5. еУМЙ РЕТЧЙЮОПЕ ЧЩТБЦЕОЙЕ ДБЕФ ЪОБЮЕОЙЕ ФЙРБ "ХЛБЪБФЕМШ ОБ ..." (УН. #8.4 and #8.6.3), ЪОБЮЕОЙЕН ЧЩТБЦЕОЙС ВЩМ ПВЯЕЛФ, ПВПЪОБЮБЕНЩК УУЩМЛПК. уУЩМЛХ НПЦОП УЮЙФБФШ ЙНЕОЕН ПВЯЕЛФБ; УН. #8.6.3. 7.2 хОБТОЩЕ ПРЕТБГЙЙ чЩТБЦЕОЙС У ХОБТОЩНЙ ПРЕТБГЙСНЙ ЗТХРРЙТХАФ УРТБЧБ ОБМЕЧП: ХОБТОПЕ_ЧЩТБЦЕОЙЕ: ХОБТОБС_ПРЕТБГЙС ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ ++ ЧЩТБЦЕОЙЕ -- sizeof ЧЩТБЦЕОЙЕ sizeof ( ЙНС_ФЙРБ ) ( ЙНС_ФЙРБ ) ЧЩТБЦЕОЙЕ РТПУФПЕ_ЙНС_ФЙРБ ( УРЙУПЛ_ЧЩТБЦЕОЙК ) new ЙНС_ФЙРБ ЙОЙГЙБМЙЪБФПТ opt new ( ЙНС_ФЙРБ ) delete ЧЩТБЦЕОЙЕ delete [ ЧЩТБЦЕОЙЕ ] ЧЩТБЦЕОЙЕ ХОБТОБС_ПРЕТБГЙС: ПДОБ ЙЪ * & - ! ~ ++ -- хОБТОБС ПРЕТБГЙС * ПЪОБЮБЕФ ЛПУЧЕООПЕ ПВТБЭЕОЙЕ: ЧЩТБЦЕОЙЕ ДПМЦОП ВЩФШ ХЛБЪБФЕМЕН Й ТЕЪХМШФБФПН ВХДЕФ lvalue, УУЩМБАЭЕЕУС ОБ ПВЯЕЛФ, ОБ ЛПФПТЩК ХЛБЪЩЧБЕФ ЧЩТБЦЕОЙЕ. еУМЙ ЧЩТБЦЕОЙЕ ЙНЕЕФ ФЙР "ХЛБЪБФЕМШ ОБ ...", ФП ФЙР ТЕЪХМШФБФБ ЕУФШ "...". тЕЪХМШФБФПН ХОБТОПК ПРЕТБГЙЙ & СЧМСЕФУС ХЛБЪБФЕМШ ОБ ПВЯЕЛФ, ОБ ЛПФПТЩК УУЩМБЕФУС ПРЕТБОД. пРЕТБОД ДПМЦЕО ВЩФШ lvalue. еУМЙ ЧЩТБЦЕОЙЕ ЙНЕЕФ ФЙР "...", ФП ФЙР ТЕЪХМШФБФБ ЕУФШ "ХЛБЪБФЕМШ ОБ ...". тЕЪХМШФБФПН ХОБТОПК ПРЕТБГЙЙ + СЧМСЕФУС ЪОБЮЕОЙЕ ЕЕ ПРЕТБОДБ РПУМЕ ЧЩРПМОЕОЙС ПВЩЮОЩИ БТЙЖНЕФЙЮЕУЛЙИ РТЕПВТБЪПЧБОЙК. пРЕТБОД ДПМЦЕО ВЩФШ БТЙЖНЕФЙЮЕУЛПЗП ФЙРБ. тЕЪХМШФБФПН ХОБТОПК ПРЕТБГЙЙ - СЧМСЕФУС ПФТЙГБФЕМШОПЕ ЪОБЮЕОЙЕ ЕЕ ПРЕТБОДБ. пРЕТБОД ДПМЦЕО ЙНЕФШ ГЕМЩК ФЙР. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС. пФТЙГБФЕМШОПЕ ЪОБЮЕОЙЕ ВЕЪЪОБЛПЧПК ЧЕМЙЮЙОЩ ЧЩЮЙУМСФУС РПУТЕДУФЧПН ЧЩЮЙФБОЙС ЕЕ ЪОБЮЕОЙС ЙЪ 2n, ЗДЕ n -ЮЙУМП ВЙФПЧ Ч ГЕМПН ФЙРБ int. тЕЪХМШФБФПН ПРЕТБГЙЙ МПЗЙЮЕУЛПЗП ПФТЙГБОЙС ! СЧМСЕФУС 1, ЕУМЙ ЪОБЮЕОЙЕ ПРЕТБОДБ 0, Й 0, ЕУМЙ ЪОБЮЕОЙЕ ПРЕТБОДБ ОЕ 0. тЕЪХМШФБФ ЙНЕЕФ ФЙР int. рТЙНЕОЙНБ Л МАВПНХ БТЙЖНЕФЙЮЕУЛПНХ ФЙРХ ЙМЙ Л ХЛБЪБФЕМСН. пРЕТБГЙС ~ ДБЕФ ДПРПМОЕОЙЕ ЪОБЮЕОЙС ПРЕТБОДБ ДП ЕДЙОЙГЩ. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС. пРЕТБОД ДПМЦЕО ЙНЕФШ ЙОФЕЗТБМШОЩК ФЙР. 7.2.1 хЧЕМЙЮЕОЙЕ Й хНЕОШЫЕОЙЕ пРЕТБОД РТЕЖЙЛУОПЗП ++ РПМХЮБЕФ РТЙТБЭЕОЙЕ. пРЕТБОД ДПМЦЕО ВЩФШ БДТЕУОЩН . ъОБЮЕОЙЕН СЧМСЕФУС ОПЧПЕ ЪОБЮЕОЙЕ ПРЕТБОДБ, ОП ПОП ОЕ БДТЕУОПЕ. чЩТБЦЕОЙЕ ++x ЬЛЧЙЧБМЕОФОП x+=1. рП РПЧПДХ ДБООЩИ П РТЕПВТБЪПЧБОЙСИ УН. ПВУХЦДЕОЙЕ ПРЕТБГЙК УМПЦЕОЙС (#7.4) Й РТЙУЧБЙЧБОЙС (#7.14). пРЕТБОД РТЕЖЙЛУОПЗП -- ХНЕОШЫБЕФУС БОБМПЗЙЮОП ДЕКУФЧЙА РТЕЖЙЛУОПК ПРЕТБГЙЙ ++. ъОБЮЕОЙЕ, РПМХЮБЕНПЕ РТЙ ЙУРПМШЪПЧБОЙЙ РПУФЖЙЛУОПЗП ++, ЕУФШ ЪОБЮЕОЙЕ ПРЕТБОДБ. пРЕТБОД ДПМЦЕО ВЩФШ БДТЕУОЩН. рПУМЕ ФПЗП, ЛБЛ ТЕЪХМШФБФ ПФНЕЮЕО, ПВЯЕЛФ ХЧЕМЙЮЙЧБЕФУС ФБЛ ЦЕ, ЛБЛ Й Ч РТЕЖЙЛУОПК ПРЕТБГЙЙ ++. фЙР ТЕЪХМШФБФБ ФПФ ЦЕ, ЮФП Й ФЙР ПРЕТБОДБ. ъОБЮЕОЙЕ, РПМХЮБЕНПЕ РТЙ ЙУРПМШЪПЧБОЙЙ РПУФЖЙЛУОПК --, ЕУФШ ЪОБЮЕОЙЕ ПРЕТБОДБ. пРЕТБОД ДПМЦЕО ВЩФШ БДТЕУОЩН. рПУМЕ ФПЗП, ЛБЛ ТЕЪХМШФБФ ПФНЕЮЕО, ПВЯЕЛФ ХЧЕМЙЮЙЧБЕФУС ФБЛ ЦЕ, ЛБЛ Й Ч РТЕЖЙЛУОПК ПРЕТБГЙЙ ++. фЙР ТЕЪХМШФБФБ ФПФ ЦЕ, ЮФП Й ФЙР ПРЕТБОДБ. 7.2.2 Sizeof пРЕТБГЙС sizeof ДБЕФ ТБЪНЕТ ПРЕТБОДБ Ч ВБКФБИ. (вБКФ ОЕ ПРТЕДЕМСЕФУС СЪЩЛПН ЙОБЮЕ, ЮЕН ЮЕТЕЪ ЪОБЮЕОЙЕ sizeof. пДОБЛП, ЧП ЧУЕИ УХЭЕУФЧХАЭЙИ ТЕБМЙЪБГЙСИ ВБКФ ЕУФШ РТПУФТБОУФЧП, ОЕПВИПДЙНПЕ ДМС ИТБОЕОЙС char.) рТЙ РТЙНЕОЕОЙЙ Л НБУУЙЧХ ТЕЪХМШФБФПН СЧМСЕФУС РПМОПЕ ЛПМЙЮЕУФЧП ВБКФПЧ Ч НБУУЙЧЕ. тБЪНЕТ ПРТЕДЕМСЕФУС ЙЪ ПРЙУБОЙК ПВЯЕЛФПЧ, ЧИПДСЭЙИ Ч ЧЩТБЦЕОЙЕ. уЕНБОФЙЮЕУЛЙ ЬФП ЧЩТБЦЕОЙЕ СЧМСЕФУС ВЕЪЪОБЛПЧПК ЛПОУФБОФПК Й НПЦЕФ ВЩФШ ЙУРПМШЪПЧБОП Ч МАВПН НЕУФЕ, ЗДЕ ФТЕВХЕФУС ЛПОУФБОФБ. пРЕТБГЙА sizeof НПЦОП ФБЛЦЕ РТЙНЕОСФШ Л ЪБЛМАЮЕООПНХ Ч УЛПВЛЙ ЙНЕОЙ ФЙРБ. ч ЬФПН УМХЮБЕ ПОБ ДБЕФ ТБЪНЕТ, Ч ВБКФБИ, ПВЯЕЛФБ ХЛБЪБООПЗП ФЙРБ. 7.2.3 сЧОПЕ рТЕПВТБЪПЧБОЙЕ фЙРБ рТПУФПЕ_ЙНС_ФЙРБ (#8.2), ЧПЪНПЦОП, ЪБЛМАЮЕООПЕ Ч УЛПВЛЙ, ЪБ ЛПФПТЩН ЙДЕФ ЪБЛМАЮЕООПЕ Ч УЛПВЛЙ ЧЩТБЦЕОЙЕ (ЙМЙ УРЙУПЛ_ЧЩТБЦЕОЙК, ЕУМЙ ФЙР СЧМСЕФУС ЛМБУУПН У УППФЧЕФУФЧХАЭЙН ПВТБЪПН ПРЙУБООЩН ЛПОУФТХЛФПТПН #8.5.5) ЧМЕЮЕФ РТЕПВТБЪПЧБОЙЕ ЪОБЮЕОЙС ЧЩТБЦЕОЙС Ч ОБЪЧБООЩК ФЙР. юФПВЩ ЪБРЙУБФШ РТЕПВТБЪПЧБОЙЕ Ч ФЙР, ОЕ ЙНЕАЭЙК РТПУФПЗП ЙНЕОЙ, ЙНС_ФЙРБ (#8.7) ДПМЦОП ВЩФШ ЪБЛМАЮЕОП Ч УЛПВЛЙ. еУМЙ ЙНС ФЙРБ ЪБЛМАЮЕОП Ч УЛПВЛЙ, ЧЩТБЦЕОЙЕ ЪБЛМАЮБФШ Ч УЛПВЛЙ ОЕПВСЪБФЕМШОП. фБЛБС ЪБРЙУШ ОБЪЩЧБЕФУС РТЙЧЕДЕОЙЕН Л ФЙРХ. хЛБЪБФЕМШ НПЦЕФ ВЩФШ СЧОП РТЕПВТБЪПЧБО Л МАВПНХ ЙЪ ЙОФЕЗТБМШОЩИ ФЙРПЧ, ДПУФБФПЮОП РП ЧЕМЙЮЙОЕ ДМС ЕЗП ИТБОЕОЙС. фП, ЛБЛПК ЙЪ int Й long ФТЕВХЕФУС, СЧМСЕФУС НБЫЙООП-ЪБЧЙУЙНЩН. пФПВТБЦБАЭБС ЖХОЛГЙС ФБЛЦЕ СЧМСЕФУС НБЫЙООП-ЪБЧЙУЙНПК, ОП РТЕДРПМБЗБЕФУС, ЮФП ПОБ ОЕ УПДЕТЦЙФ УАТРТЙЪПЧ ДМС ФПЗП, ЛФП ЪОБЕФ УФТХЛФХТХ БДТЕУБГЙЙ Ч НБЫЙОЕ. рПДТПВОПУФЙ ДМС ОЕЛПФПТЩИ ЛПОЛТЕФОЩИ НБЫЙО ВЩМЙ РТЙЧЕДЕОЩ Ч #2.6. пВЯЕЛФ ЙОФЕЗТБМШОПЗП ФЙРБ НПЦЕФ ВЩФШ СЧОП РТЕПВТБЪПЧБО Ч ХЛБЪБФЕМШ. пФПВТБЦБАЭБС ЖХОЛГЙС ЧУЕЗДБ РТЕЧТБЭБЕФ ГЕМПЕ, РПМХЮЕООПЕ ЙЪ ХЛБЪБФЕМС, ПВТБФОП Ч ФПФ ЦЕ ХЛБЪБФЕМШ, ОП Ч ПУФБМШОЩИ УМХЮБСИ СЧМСЕФУС НБЫЙООП ЪБЧЙУЙНПК. хЛБЪБФЕМШ ОБ ПДЙО ФЙР НПЦЕФ ВЩФШ СЧОП РТЕПВТБЪПЧБО Ч ХЛБЪБФЕМШ ОБ ДТХЗПК ФЙР. йУРПМШЪПЧБОЙЕ РПМХЮЕООПЗП Ч ТЕЪХМШФБФЕ ХЛБЪБФЕМС НПЦЕФ РТЙЧЕУФЙ Л ЙУЛМАЮЙФЕМШОПК УЙФХБГЙЙ БДТЕУБГЙЙ, ЕУМЙ ЙУИПДОЩК ХЛБЪБФЕМШ ОЕ ХЛБЪЩЧБЕФ ОБ ПВЯЕЛФ, УППФЧЕФУФЧХАЭЙН ПВТБЪПН ЧЩТБЧОЕООЩК Ч РБНСФЙ. зБТБОФЙТХЕФУС, ЮФП ХЛБЪБФЕМШ ОБ ПВЯЕЛФ ДБООПЗП ТБЪНЕТБ НПЦЕФ ВЩФШ РТЕПВТБЪПЧБО Ч ХЛБЪБФЕМШ ОБ ПВЯЕЛФ НЕОШЫЕЗП ТБЪНЕТБ Й ПВТБФОП ВЕЪ ЙЪНЕОЕОЙК. тБЪМЙЮОЩЕ НБЫЙОЩ НПЗХФ ТБЪМЙЮБФШУС РП ЮЙУМХ ВЙФ Ч ХЛБЪБФЕМСИ Й ФТЕВПЧБОЙСН Л ЧЩТБЧОЙЧБОЙА ПВЯЕЛФПЧ. уПУФБЧОЩЕ ПВЯЕЛФЩ ЧЩТБЧОЙЧБАФУС РП УБНПК УФТПЗПК ЗТБОЙГЕ, ФТЕВХЕНПК ЛБЛЙН-МЙВП ЙЪ ЕЗП УПУФБЧМСАЭЙИ. пВЯЕЛФ НПЦЕФ РТЕПВТБЪПЧЩЧБФШУС Ч ПВЯЕЛФ ЛМБУУБ ФПМШЛП ЕУМЙ ВЩМ ПРЙУБО УППФЧЕФУФЧХАЭЙК ЛПОУФТХЛФПТ ЙМЙ ПРЕТБГЙС РТЕПВТБЪПЧБОЙС (#8.5.6). пВЯЕЛФ НПЦЕФ СЧОП РТЕПВТБЪПЧЩЧБФШУС Ч УУЩМПЮОЩК ФЙР &X, ЕУМЙ ХЛБЪБФЕМШ ОБ ЬФПФ ПВЯЕЛФ НПЦЕФ СЧОП РТЕПВТБЪПЧЩЧБФШУС Ч X*. 7.2.4 уЧПВПДОБС рБНСФШ пРЕТБГЙС new УПЪДБЕФ ПВЯЕЛФ ФЙРБ ЙНС_ФЙРБ (УН. #8.7), Л ЛПФПТПНХ ПО РТЙНЕОЕО. чТЕНС ЦЙЪОЙ ПВЯЕЛФБ, УПЪДБООПЗП У РПНПЭША new, ОЕ ПЗТБОЙЮЕОП ПВМБУФША ЧЙДЙНПУФЙ, Ч ЛПФПТПК ПО УПЪДБО. пРЕТБГЙС new ЧПЪЧТБЭБЕФ ХЛБЪБФЕМШ ОБ УПЪДБООЩК ЕК ПВЯЕЛФ. лПЗДБ ПВЯЕЛФ СЧМСЕФУС НБУУЙЧПН, ЧПЪЧТБЭБЕФУС ХЛБЪБФЕМШ ОБ ЕЗП РЕТЧЩК ЬМЕНЕОФ. оБРТЙНЕТ, Й new int Й new int[10] ЧПЪЧТБЭБАФ int*. дМС ПВЯЕЛФПЧ ОЕЛПФПТЩИ ЛМБУУПЧ ОБДП РТЕДПУФБЧМСФШ ЙОЙГЙБМЙЪБФПТ (#8.6.2). пРЕТБГЙС new (#7.2) ДМС РПМХЮЕОЙС РБНСФЙ ЧЩЪЩЧБЕФ ЖХОЛГЙА void* operator new (long); рБТБНЕФТ ЪБДБЕФ ФТЕВХЕНПЕ ЮЙУМП ВБКФПЧ. рБНСФШ ВХДЕФ ЙОЙГЙБМЙЪЙТПЧБОБ. еУМЙ operator new() ОЕ НПЦЕФ ОБКФЙ ФТЕВХЕНПЕ ЛПМЙЮЕУФЧП РБНСФЙ, ФП ПОБ ЧПЪЧТБЭБЕФ ОПМШ. пРЕТБГЙС delete ХОЙЮФПЦБЕФ ПВЯЕЛФ, УПЪДБООЩК ПРЕТБГЙЕК new. еЕ ТЕЪХМШФБФ СЧМСЕФУС void. пРЕТБОД delete ДПМЦЕО ВЩФШ ХЛБЪБФЕМЕН, ЧПЪЧТБЭЕООЩН new. тЕЪХМШФБФ РТЙНЕОЕОЙС delete Л ХЛБЪБФЕМА, ЛПФПТЩК ОЕ ВЩМ РПМХЮЕО У РПНПЭША ПРЕТБГЙЙ new. пДОБЛП ХОЙЮФПЦЕОЙЕ У РПНПЭША delete ХЛБЪБФЕМС УП ЪОБЮЕОЙЕН ОПМШ ВЕЪЧТЕДОП. юФПВЩ ПУЧПВПДЙФШ ХЛБЪБООХА РБНСФШ, ПРЕТБГЙС delete ЧЩЪЩЧБЕФ ЖХОЛГЙА void operator delete (void*); ч ЖПТНЕ delete [ ЧЩТБЦЕОЙЕ ] ЧЩТБЦЕОЙЕ ЧФПТПК РБТБНЕФТ ХЛБЪЩЧБЕФ ОБ ЧЕЛФПТ, Б РЕТЧПЕ ЧЩТБЦЕОЙЕ ЪБДБЕФ ЮЙУМП ЬМЕНЕОФПЧ ЬФПЗП ЧЕЛФПТБ. ъБДБОЙЕ ЮЙУМБ ЬМЕНЕОФПЧ СЧМСЕФУС ЙЪВЩФПЮОЩН ЪБ ЙУЛМАЮЕОЙЕН УМХЮБЕЧ ХОЙЮФПЦЕОЙС ЧЕЛФПТПЧ ОЕЛПФПТЩИ ЛМБУУПЧ; УН. #8.5.8. 7.3 нХМШФЙРМЙЛБФЙЧОЩЕ ПРЕТБГЙЙ нХМШФЙРМЙЛБФЙЧОЩЕ ПРЕТБГЙЙ *, / Й % ЗТХРРЙТХАФ УМЕЧБ ОБРТБЧП. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС. НХМШФЙРМЙЛБФЙЧОПЕ_ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ * ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ / ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ % ЧЩТБЦЕОЙЕ вЙОБТОБС ПРЕТБГЙС * ПРТЕДЕМСЕФ ХНОПЦЕОЙЕ. пРЕТБГЙС * БУУПГЙБФЙЧОБ Й ЧЩТБЦЕОЙС У ОЕУЛПМШЛЙНЙ ХНОПЦЕОЙСНЙ ОБ ПДОПН ХТПЧОЕ НПЗХФ ВЩФШ ТЕПТЗБОЙЪПЧБОЩ ЛПНРЙМСФПТПН. вЙОБТОБС ПРЕТБГЙС / ПРТЕДЕМСЕФ ДЕМЕОЙЕ. рТЙ ДЕМЕОЙЙ РПМПЦЙФЕМШОЩИ ГЕМЩИ ПЛТХЗМЕОЙЕ ПУХЭЕУФЧМСЕФУС Ч УФПТПОХ 0, ОП ЕУМЙ ЛБЛПК-МЙВП ЙЪ ПРЕТБОДПЧ ПФТЙГБФЕМЕО, ФП ЖПТНБ ПЛТХЗМЕОЙС СЧМСЕФУС НБЫЙООП-ЪБЧЙУЙНПК. оБ ЧУЕИ НБЫЙОБИ, ПИЧБФЩЧБЕНЩИ ДБООЩН ТХЛПЧПДУФЧПН, ПУФБФПЛ ЙНЕЕФ ФПФ ЦЕ ЪОБЛ, ЮФП Й ДЕМЙНПЕ. чУЕЗДБ ЙУФЙООП, ЮФП (a/b)*b + a%b ТБЧОП a (ЕУМЙ b ОЕ 0). вЙОБТОБС ПРЕТБГЙС % ДБЕФ ПУФБФПЛ ПФ ДЕМЕОЙС РЕТЧПЗП ЧЩТБЦЕОЙС ОБ ЧФПТПЕ. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС. пРЕТБОДЩ ОЕ ДПМЦОЩ ВЩФШ ЮЙУМБНЙ У РМБЧБАЭЕК ФПЮЛПК. 7.4 бДДЙФЙЧОЩЕ ПРЕТБГЙЙ бДДЙФЙЧОЩЕ ПРЕТБГЙЙ + Й - ЗТХРРЙТХАФ УМЕЧБ ОБРТБЧП. чЩРПМОСАШУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС. лБЦДБС ПРЕТБГЙС ЙНЕЕФ ОЕЛПФПТЩЕ ДПРПМОЙФЕМШОЩЕ ЧПЪНПЦОПУФЙ, УЧСЪБООЩЕ У ФЙРБНЙ. БДДЙФЙЧОПЕ_ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ + ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ - ЧЩТБЦЕОЙЕ тЕЪХМШФБФПН ПРЕТБГЙЙ + СЧМСЕФУС УХННБ ПРЕТБОДПЧ. нПЦОП УХННЙТПЧБФШ ХЛБЪБФЕМШ ОБ ПВЯЕЛФ НБУУЙЧБ Й ЪОБЮЕОЙЕ ГЕМПЗП ФЙРБ. рПУМЕДОЕЕ ЧП ЧУЕИ УМХЮБСИ РТЕПВТБЪХЕФУС Л УНЕЭЕОЙА БДТЕУБ У РПНПЭША ХНОПЦЕОЙС ЕЗП ОБ ДМЙОХ ПВЯЕЛФБ, ОБ ЛПФПТЩК ХЛБЪЩЧБЕФ ХЛБЪБФЕМШ. тЕЪХМШФБФПН СЧМСЕФУС ХЛБЪБФЕМШ ФПЗП ЦЕ ФЙРБ, ЮФП Й ЙУИПДОЩК ХЛБЪБФЕМШ, ХЛБЪЩЧБАЭЙК ОБ ДТХЗПК ПВЯЕЛФ ФПЗП ЦЕ НБУУЙЧБ Й УППФЧЕФУФЧХАЭЙН ПВТБЪПН УНЕЭЕООЩК ПФ РЕТЧПОБЮБМШОПЗП ПВЯЕЛФБ. фБЛ, ЕУМЙ P ЕУФШ ХЛБЪБФЕМШ ОБ ПВЯЕЛФ НБУУЙЧБ, ФП ЧЩТБЦЕОЙЕ P+1 ЕУФШ ХЛБЪБФЕМШ ОБ УМЕДХАЭЙК ПВЯЕЛФ НБУУЙЧБ. оЙЛБЛЙЕ ДТХЗЙЕ ЛПНВЙОБГЙЙ ФЙРПЧ ДМС ХЛБЪБФЕМЕК ОЕ ДПРХУФЙНЩ. пРЕТБГЙС + БУУПГЙБФЙЧОБ Й ЧЩТБЦЕОЙЕ У ОЕУЛПМШЛЙНЙ ХНОПЦЕОЙСНЙ ОБ ПДОПН ХТПЧОЕ НПЦЕФ ВЩФШ ТЕПТЗБОЙЪПЧБОП ЛПНРЙМСФПТПН. тЕЪХМШФБФПН ПРЕТБГЙЙ - СЧМСЕФУС ТБЪОПУФШ ПРЕТБОДПЧ. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС. лТПНЕ ФПЗП, ЪОБЮЕОЙЕ МАВПЗП ГЕМПЗП ФЙРБ НПЦЕФ ЧЩЮЙФБФШУС ЙЪ ХЛБЪБФЕМС, Ч ЬФПН УМХЮБЕ РТЙНЕОСАФУС ФЕ ЦЕ РТЕПВТБЪПЧБОЙС, ЮФП Й Л УМПЦЕОЙА. еУМЙ ЧЩЮЙФБАФУС ХЛБЪБФЕМЙ ОБ ПВЯЕЛФЩ ПДОПЗП ФЙРБ, ФП ТЕЪХМШФБФ РТЕПВТБЪХЕФУС (РПУТЕДУФЧПН ДЕМЕОЙС ОБ ДМЙОХ ПВЯЕЛФБ) Л ГЕМПНХ, РТЕДУФБЧМСАЭЕНХ УПВПК ЮЙУМП ПВЯЕЛФПЧ, ТБЪДЕМСАЭЙИ ПВЯЕЛФЩ, ХЛБЪБООЩЕ ХЛБЪБФЕМСНЙ. ч ЪБЧЙУЙНПУФЙ ПФ НБЫЙОЩ ТЕЪХМШФЙТХАЭЕЕ ГЕМПЕ НПЦЕФ ВЩФШ ЙМЙ ФЙРБ int, ЙМЙ ФЙРБ long; УН. #2.6. чППВЭЕ ЗПЧПТС, ЬФП РТЕПВТБЪПЧБОЙЕ ВХДЕФ ДБЧБФШ ОЕПРТЕДЕМЕООЩК ТЕЪХМШФБФ ЛТПНЕ ФЕИ УМХЮБЕЧ, ЛПЗДБ ХЛБЪБФЕМЙ ХЛБЪЩЧБАФ ОБ ПВЯЕЛФЩ ПДОПЗП НБУУЙЧБ, РПУЛПМШЛХ ХЛБЪБФЕМЙ, ДБЦЕ ОБ ПВЯЕЛФЩ ПДЙОБЛПЧПЗП ФЙРБ, ОЕ ПВСЪБФЕМШОП ТБЪМЙЮБАФУС ОБ ЧЕМЙЮЙОХ, ЛТБФОХА ДМЙОЕ ПВЯЕЛФБ. 7.5 пРЕТБГЙЙ УДЧЙЗБ пРЕТБГЙЙ УДЧЙЗБ << Й >> ЗТХРРЙТХАФ УМЕЧБ ОБРТБЧП. пВЕ ЧЩРПМОСАФ ПДОП ПВЩЮОПЕ БТЙЖНЕФЙЮЕУЛПЕ РТЕПВТБЪПЧБОЙЕ ОБД УЧПЙНЙ ПРЕТБОДБНЙ, ЛБЦДЩК ЙЪ ЛПФПТЩИ ДПМЦЕО ВЩФШ ГЕМЩН. ч ЬФПН УМХЮБЕ РТБЧЩК ПРЕТБОД РТЕПВТБЪХЕФУС Л ФЙРХ int; ФЙР ТЕЪХМШФБФБ УПЧРБДБЕФ У ФЙРПН МЕЧПЗП ПРЕТБОДБ. тЕЪХМШФБФ ОЕ ПРТЕДЕМЕО, ЕУМЙ РТБЧЩК ПРЕТБОД ПФТЙГБФЕМЕО ЙМЙ ВПМШЫЕ ЙМЙ ТБЧЕО ДМЙОЕ ПВЯЕЛФБ Ч ВЙФБИ. УДЧЙЗПЧПЕ_ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ << ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ >> ЧЩТБЦЕОЙЕ ъОБЮЕОЙЕН е1 << е2 СЧМСЕФУС е1 (ТБУУНБФТЙЧБЕНПЕ ЛБЛ ВЙФПЧПЕ РТЕДУФБЧМЕОЙЕ), УДЧЙОХФПЕ ЧМЕЧП ОБ е2 ВЙФПЧ; ПУЧПВПДЙЧЫЙЕУС ВЙФЩ ЪБРПМОСАФУС ОХМСНЙ. ъОБЮЕОЙЕН е1 >> е2 СЧМСЕФУС е1 , УДЧЙОХФПЕ ЧРТБЧП ОБ е2 ВЙФПЧЩИ РПЪЙГЙК. зБТБОФЙТХЕФУС, ЮФП УДЧЙЗ ЧРТБЧП СЧМСЕФУС МПЗЙЮЕУЛЙН (ЪБРПМОЕОЙЕ ОХМСНЙ), ЕУМЙ е1 СЧМСЕФУС unsigned; Ч РТПФЙЧОПН УМХЮБЕ ПО НПЦЕФ ВЩФШ БТЙЖНЕФЙЮЕУЛЙН (ЪБРПМОЕОЙЕ ЛПРЙЕК ЪОБЛПЧПЗП ВЙФБ). 7.6 пРЕТБГЙЙ ПФОПЫЕОЙС пРЕТБГЙЙ ПФОПЫЕОЙС (УТБЧОЕОЙС) ЗТХРРЙТХАФ УМЕЧБ ОБРТБЧП, ОП ЬФПФ ЖБЛФ ОЕ ПЮЕОШ-ФП РПМЕЪЕО: a < b < c ОЕ ПЪОБЮБЕФ ФП, ЮЕН ЛБЦЕФУС. ЧЩТБЦЕОЙЕ_ПФОПЫЕОЙС: ЧЩТБЦЕОЙЕ < ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ > ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ = ЧЩТБЦЕОЙЕ пРЕТБГЙЙ < (НЕОШЫЕ ЮЕН), > (ВПМШЫЕ ЮЕН), = ЧУЕ ДБАФ 0, ЕУМЙ ЪБДБООПЕ УППФОПЫЕОЙЕ МПЦОП, Й 1, ЕУМЙ ПОП ЙУФЙООП. фЙР ТЕЪХМШФБФБ int. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС. нПЗХФ УТБЧОЙЧБФШУС ДЧБ ХЛБЪБФЕМС; ТЕЪХМШФБФ ЪБЧЙУЙФ ПФ ПФОПУЙФЕМШОПЗП РПМПЦЕОЙС ПВЯЕЛФПЧ, ОБ ЛПФПТЩЕ ХЛБЪЩЧБАФ ХЛБЪБФЕМЙ, Ч БДТЕУОПН РТПУФТБОУФЧЕ. уТБЧОЕОЙЕ ХЛБЪБФЕМЕК РЕТЕОПУЙНП ФПМШЛП ЕУМЙ ХЛБЪБФЕМЙ ХЛБЪЩЧБАФ ОБ ПВЯЕЛФЩ ПДОПЗП НБУУЙЧБ. 7.7 пРЕТБГЙЙ ТБЧЕОУФЧБ ЧЩТБЦЕОЙЕ_ТБЧЕОУФЧБ: ЧЩТБЦЕОЙЕ == ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ != ЧЩТБЦЕОЙЕ пРЕТБГЙЙ == Й != Ч ФПЮОПУФЙ БОБМПЗЙЮОЩ ПРЕТБГЙСН УТБЧОЕОЙС ЪБ ЙУЛМАЮЕОЙЕН ЙИ ОЙЪЛПЗП РТЙПТЙФЕФБ. (фБЛ, a < b == c < d ЕУФШ 1 ЧУЕЗДБ, ЛПЗДБ a < b Й c < d ЙНЕАФ ПДЙОБЛПЧПЕ ЙУФЙООПУФОПЕ ЪОБЮЕОЙЕ.) хЛБЪБФЕМШ НПЦЕФ УТБЧОЙЧБФШУС У 0. 7.8 пРЕТБГЙС РПВЙФПЧПЕ й й-ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ & ЧЩТБЦЕОЙЕ пРЕТБГЙС & БУУПГЙБФЙЧОБ, Й ЧЩТБЦЕОЙС, УПДЕТЦБЭЙЕ &, НПЗХФ ТЕПТЗБОЙЪПЧЩЧБФШУС. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС; ТЕЪХМШФБФПН СЧМСЕФУС РПВЙФПЧБС ЖХОЛГЙС й ПРЕТБОДПЧ. пРЕТБГЙС РТЙНЕОСЕФУС ФПМШЛП Л ГЕМЩН ПРЕТБОДБН. 7.9 пРЕТБГЙС РПВЙФПЧПЕ ЙУЛМАЮБАЭЕЕ ймй ЙУЛМАЮБАЭЕЕ_ймй_ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ ^ ЧЩТБЦЕОЙЕ пРЕТБГЙС ^ БУУПГЙБФЙЧОБ, Й ЧЩТБЦЕОЙС, УПДЕТЦБЭЙЕ ^, НПЗХФ ТЕПТЗБОЙЪПЧЩЧБФШУС. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС; ТЕЪХМШФБФПН СЧМСЕФУС РПВЙФПЧБС ЖХОЛГЙС ЙУЛМАЮБАЭЕЕ ймй ПРЕТБОДПЧ. пРЕТБГЙС РТЙНЕОСЕФУС ФПМШЛП Л ГЕМЩН ПРЕТБОДБН. 7.10 пРЕТБГЙС РПВЙФПЧПЕ ЧЛМАЮБАЭЕЕ ймй ЧЛМАЮБАЭЕЕ_ймй_ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ | ЧЩТБЦЕОЙЕ пРЕТБГЙС | БУУПГЙБФЙЧОБ, Й ЧЩТБЦЕОЙС, УПДЕТЦБЭЙЕ |, НПЗХФ ТЕПТЗБОЙЪПЧЩЧБФШУС. чЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС; ТЕЪХМШФБФПН СЧМСЕФУС РПВЙФПЧБС ЖХОЛГЙС ЧЛМАЮБАЭЕЕ ймй ПРЕТБОДПЧ. пРЕТБГЙС РТЙНЕОСЕФУС ФПМШЛП Л ГЕМЩН ПРЕТБОДБН. 7.11 пРЕТБГЙС МПЗЙЮЕУЛПЕ й МПЗЙЮЕУЛПЕ_й_ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ && ЧЩТБЦЕОЙЕ пРЕТБГЙС && ЗТХРРЙТХЕФ УМЕЧБ ОБРТБЧП. пОБ ЧПЪЧТБЭБЕФ 1, ЕУМЙ ПВБ ПРЕТБОДБ ОЕОХМЕЧЩЕ, Й 0 Ч РТПФЙЧОПН УМХЮБЕ. ч РТПФЙЧПРПМПЦОПУФШ ПРЕТБГЙЙ & ПРЕТБГЙС && ЗБТБОФЙТХЕФ ЧЩЮЙУМЕОЙЕ УМЕЧБ ОБРТБЧП; ВПМЕЕ ФПЗП, ЧФПТПК ПРЕТБОД ОЕ ЧЩЮЙУМСЕФУС, ЕУМЙ РЕТЧЩК ПРЕТБОД ЕУФШ 0. пРЕТБОДЩ ОЕ ПВСЪБОЩ ЙНЕФШ ПДЙО Й ФПФ ЦЕ ФЙР, ОП ЛБЦДЩК ЙЪ ОЙИ ДПМЦЕО ЙНЕФШ ПДЙО ЙЪ ПУОПЧОЩИ ФЙРПЧ ЙМЙ ВЩФШ ХЛБЪБФЕМЕН. тЕЪХМШФБФ ЧУЕЗДБ ЙНЕЕФ ФЙР int. 7.12 пРЕТБГЙС МПЗЙЮЕУЛПЕ ймй МПЗЙЮЕУЛПЕ_ймй_ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ || ЧЩТБЦЕОЙЕ пРЕТБГЙС || ЗТХРРЙТХЕФ УМЕЧБ ОБРТБЧП. пОБ ЧПЪЧТБЭБЕФ 1, ЕУМЙ ИПФС ВЩ ПДЙО ЙЪ ЕЕ ПРЕТБОДПЧ ОЕОХМЕЧПК, Й 0 Ч РТПФЙЧОПН УМХЮБЕ. ч РТПФЙЧПРПМПЦОПУФШ ПРЕТБГЙЙ | ПРЕТБГЙС || ЗБТБОФЙТХЕФ ЧЩЮЙУМЕОЙЕ УМЕЧБ ОБРТБЧП; ВПМЕЕ ФПЗП, ЧФПТПК ПРЕТБОД ОЕ ЧЩЮЙУМСЕФУС, ЕУМЙ РЕТЧЩК ПРЕТБОД ОЕ ЕУФШ 0. пРЕТБОДЩ ОЕ ПВСЪБОЩ ЙНЕФШ ПДЙО Й ФПФ ЦЕ ФЙР, ОП ЛБЦДЩК ЙЪ ОЙИ ДПМЦЕО ЙНЕФШ ПДЙО ЙЪ ПУОПЧОЩИ ФЙРПЧ ЙМЙ ВЩФШ ХЛБЪБФЕМЕН. тЕЪХМШФБФ ЧУЕЗДБ ЙНЕЕФ ФЙР int. 7.13 хУМПЧОБС ПРЕТБГЙС ХУМПЧОПЕ_ЧЩТБЦЕОЙЕ: ЧЩТБЦЕОЙЕ ? ЧЩТБЦЕОЙЕ : ЧЩТБЦЕОЙЕ хУМПЧОБС ПРЕТБГЙС ЗТХРРЙТХЕФ УМЕЧБ ОБРТБЧП. чЩЮЙУМСЕФУС РЕТЧПЕ ЧЩТБЦЕОЙЕ, Й ЕУМЙ ПОП ОЕ 0, ФП ТЕЪХМШФБФПН СЧМСЕФУС ЪОБЮЕОЙЕ ЧФПТПЗП ЧЩТБЦЕОЙС, Ч РТПФЙЧОПН УМХЮБЕ ЪОБЮЕОЙЕ ФТЕФШЕЗП ЧЩТБЦЕОЙС. еУМЙ ЬФП ЧПЪНПЦОП, ФП ЧЩРПМОСАФУС ПВЩЮОЩЕ БТЙЖНЕФЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС ДМС РТЙЧЕДЕОЙС ЧФПТПЗП Й ФТЕФШЕЗП ЧЩТБЦЕОЙС Л ПВЭЕНХ ФЙРХ. еУМЙ ЬФП ЧПЪНПЦОП, ФП ЧЩРПМОСАФУС РТЕПВТБЪПЧБОЙС ХЛБЪБФЕМЕК ДМС РТЙЧЕДЕОЙС ЧФПТПЗП Й ФТЕФШЕЗП ЧЩТБЦЕОЙС Л ПВЭЕНХ ФЙРХ. чЩЮЙУМСЕФУС ФПМШЛП ПДОП ЙЪ ЧФПТПЗП Й ФТЕФШЕЗП ЧЩТБЦЕОЙК. 7.14 пРЕТБГЙЙ РТЙУЧБЙЧБОЙС еУФШ НОПЗП ПРЕТБГЙК РТЙУЧБЙЧБОЙС, ЧУЕ ЗТХРРЙТХАФ УМЕЧБ ОБРТБЧП. чУЕ Ч ЛБЮЕУФЧЕ МЕЧПЗП ПРЕТБОДБ ФТЕВХАФ lvalue, Й ФЙР ЧЩТБЦЕОЙС РТЙУЧБЙЧБОЙС ФПФ ЦЕ, ЮФП Й Х ЕЗП МЕЧПЗП ПРЕТБОДБ. ьФП lvalue ОЕ НПЦЕФ УУЩМБФШУС ОБ ЛПОУФБОФХ (ЙНС НБУУЙЧБ, ЙНС ЖХОЛГЙЙ ЙМЙ const). ъОБЮЕОЙЕН СЧМСЕФУС ЪОБЮЕОЙЕ, ИТБОСЭЕЕУС Ч МЕЧПН ПРЕТБОДЕ РПУМЕ ЧЩРПМОЕОЙС РТЙУЧБЙЧБОЙС. ЧЩТБЦЕОЙЕ_РТЙУЧБЙЧБОЙС: ЧЩТБЦЕОЙЕ ПРЕТБГЙС_РТЙУЧБЙЧБОЙС ЧЩТБЦЕОЙЕ ПРЕТБГЙС_РТЙУЧБЙЧБОЙС: ПДОБ ЙЪ = += -= *= /= %= >>=

Соседние файлы в папке Справочное руководство по C++