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

уЧПВПДОБС РБНСФШ. уРТБЧПЮОПЕ ТХЛПЧПДУФЧП РП 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 17. уЧПВПДОБС РБНСФШ пРЕТБГЙС new (#7.2) ЧЩЪЩЧБЕФ ЖХОЛГЙА extern void* _new (long); ДМС РПМХЮЕОЙС РБНСФЙ. рБТБНЕФТ ЪБДБЕФ ЮЙУМП ФТЕВХЕНЩИ ВБКФПЧ. рБНСФШ ВХДЕФ ЙОЙГЙБМЙЪЙТПЧБОБ. еУМЙ _new ОЕ НПЦЕФ ОБКФЙ ФТЕВХЕНПЕ ЛПМЙЮЕУФЧП РБНСФЙ, ФП ПОБ ЧПЪЧТБЭБЕФ ОПМШ. пРЕТБГЙС delete ЧЩЪЩЧБЕФ ЖХОЛГЙА extern void _delete (void*); ЮФПВЩ ПУЧПВПДЙФШ РБНСФШ, ХЛБЪБООХА ХЛБЪБФЕМЕН, ДМС РПЧФПТОПЗП ЙУРПМШЪПЧБОЙС. тЕЪХМШФБФ ЧЩЪПЧБ _delete() ДМС ХЛБЪБФЕМС, ЛПФПТЩК ОЕ ВЩМ РПМХЮЕО ЙЪ _new(), ОЕ ПРТЕДЕМЕО, ЬФП ЦЕ ПФОПУЙФУС Й Л РПЧФПТОПНХ ЧЩЪПЧХ _delete() ДМС ПДОПЗП Й ФПЗП ЦЕ ХЛБЪБФЕМС. пДОБЛП ХОЙЮФПЦЕОЙЕ У РПНПЭША delete ХЛБЪБФЕМС УП ЪОБЮЕОЙЕН ОПМШ ВЕЪЧТЕДОП. рТЕДПУФБЧМСАФУС УФБОДБТФОЩЕ ЧЕТУЙЙ _new() Й _delete(), ОП РПМШЪПЧБФЕМШ НПЦЕФ РТЙНЕОСФШ ДТХЗЙЕ, ВПМЕЕ РПДИПДСЭЙЕ ДМС ЛПОЛТЕФОЩИ РТЙМПЦЕОЙК. лПЗДБ У РПНПЭША ПРЕТБГЙЙ new УПЪДБЕФУС ЛМБУУПЧЩК ПВЯЕЛФ, ФП ДМС РПМХЮЕОЙС ОЕПВИПДЙНПК РБНСФЙ ЛПОУФТХЛФПТ ВХДЕФ (ОЕСЧОП) ЙУРПМШЪПЧБФШ new. лПОУФТХЛФПТ НПЦЕФ ПУХЭЕУФЧЙФШ УЧПЕ УПВУФЧЕООПЕ ТЕЪЕТЧЙТПЧБОЙЕ РБНСФЙ РПУТЕДУФЧПН РТЙУЧБЙЧБОЙС ХЛБЪБФЕМА this ДП ЛБЛЙИ-МЙВП ЙУРПМШЪПЧБОЙК. у РПНПЭША РТЙУЧБЙЧБОЙС this ЪОБЮЕОЙС ОПМШ ДЕУФТХЛФПТ НПЦЕФ ЙЪВЕЦБФШ УФБОДБТФОПК ПРЕТБГЙЙ ДЕТЕЪЕТЧЙТПЧБОЙС РБНСФЙ ДМС ПВЯЕЛФБ ЕЗП ЛМБУУБ. оБРТЙНЕТ: class cl { int v[10]; cl () { this = my_own_allocator (sizeof (cl)); } ~cl () { my_own_deallocator (this); this = 0; } } оБ ЧИПДЕ Ч ЛПОУФТХЛФПТ this СЧМСЕФУС ОЕ-ОХМЕН, ЕУМЙ ТЕЪЕТЧЙТПЧБОЙЕ РБНСФЙ ХЦЕ ЙНЕМП НЕУФП (ЛБЛ ЬФП ЙНЕЕФ НЕУФП ДМС БЧФПНБФЙЮЕУЛЙИ ПВЯЕЛФПЧ), Й ОХМЕН Ч ПУФБМШОЩИ УМХЮБСИ. еУМЙ РТПЙЪЧПДОЩК ЛМБУУ ПУХЭЕУФЧМСЕФ РТЙУЧБЙЧБОЙЕ this, ФП ЧЩЪПЧ ЛПОУФТХЛФПТБ (ЕУМЙ ПО ЕУФШ) ВБЪПЧПЗП ЛМБУУБ ВХДЕФ ЙНЕФШ НЕУФП РПУМЕ РТЙУЧБЙЧБОЙС, ФБЛ ЮФП ЛПОУФТХЛФПТ ВБЪПЧПЗП ЛМБУУБ УУЩМБФШУС ОБ ПВЯЕЛФ РПУТЕДУФЧПН ЛПОУФТХЛФПТБ РТПЙЪЧПДОПЗП ЛМБУУБ. еУМЙ ЛПОУФТХЛФПТ ВБЪПЧПЗП ЛМБУУБ ПУХЭЕУФЧМСЕФ РТЙУЧБЙЧБОЙЕ this, ФП ЪОБЮЕОЙЕ ФБЛЦЕ ВХДЕФ ЙУРПМШЪПЧБФШУС ЛПОУФТХЛФПТПН (ЕУМЙ ФБЛПЧПК ЕУФШ) РТПЙЪЧПДОПЗП ЛМБУУБ. 18. лТБФЛПЕ ЙЪМПЦЕОЙЕ УЙОФБЛУЙУБ нЩ ОБДЕЕНУС, ЮФП ЬФБ ЛТБФЛБС УЧПДЛБ УЙОФБЛУЙУБ C++ РПНПЦЕФ РПОЙНБОЙА. пОБ ОЕ СЧМСЕФУС ФПЮОЩН ЙЪМПЦЕОЙЕН СЪЩЛБ. 18.1 чЩТБЦЕОЙС ЧЩТБЦЕОЙЕ: ФЕТН ЧЩТБЦЕОЙЕ ВЙОБТОБС_ПРЕТБГЙС ЧЩТБЦЕОЙЕ ЧЩТБЦЕОЙЕ ? ЧЩТБЦЕОЙЕ : ЧЩТБЦЕОЙЕ УРЙУПЛ_ЧЩТБЦЕОЙК ФЕТН: РЕТЧЙЮОЩК * ФЕТН & ФЕТН - ФЕТН ! ФЕТН ~ ФЕТН ++ФЕТН --ФЕТН ФЕТН++ ФЕТН-- ( ЙНС_ФЙРБ) ЧЩТБЦЕОЙЕ ЙНС_РТПУФПЗП_ФЙРБ ( УРЙУПЛ_ЧЩТБЦЕОЙК) sizeof ЧЩТБЦЕОЙЕ sizeof ( ЙНС_ФЙРБ ) new ЙНС_ФЙРБ new ( ЙНС_ФЙРБ ) РЕТЧЙЮОЩК: id :: ЙДЕОФЙЖЙЛБФПТ ЛПОУФБОФБ УФТПЛБ this ( ЧЩТБЦЕОЙЕ ) РЕТЧЙЮОЩК[ ЧЩТБЦЕОЙЕ ] РЕТЧЙЮОЩК ( УРЙУПЛ_ЧЩТБЦЕОЙК opt ) РЕТЧЙЮОЩК.id РЕТЧЙЮОЩК->id id: ЙДЕОФЙЖЙЛБФПТ typedef-ЙНС :: ЙДЕОФЙЖЙЛБФПТ УРЙУПЛ_ЧЩТБЦЕОЙК: ЧЩТБЦЕОЙЕ УРЙУПЛ_ЧЩТБЦЕОЙК, ЧЩТБЦЕОЙЕ ПРЕТБГЙС: ХОБТОБС_ПРЕТБГЙС ВЙОБТОБС_ПРЕТБГЙС УРЕГЙБМШОБС_ПРЕТБГЙС вЙОБТОЩЕ ПРЕТБГЙЙ ЙНЕАФ РТЙПТЙФЕФ, ХВЩЧБАЭЙК Ч ХЛБЪБООПН РПТСДЛЕ: ВЙОБТОБС_ПРЕТБГЙС: * / % + - << >> < > == != & ^ | && || = += -= *= /= %= ^= &= |= >>=

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