Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет184/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   180   181   182   183   184   185   186   187   ...   465
Байланысты:
аибм сплюс


new
операциясы үшін бұл оның 
дұрыс мəн қайтаруы, нөлдік өлшемдегі жадыны бөлуге сұранысты дұрыс 
өңдеуі жəне мұндай сұраныстың орындалуы мүмкін болмаған жағдайда ерекше 
жағдайлар (аластамалар туралы «Аластамалы жағдайларды өңдеу» бөлімінде,
240 б. айтылады) туындауы керек екендігін білдіреді.
delete
операциясы 
үшін нөлдік нұсқауышты жою қауіпсіз болуы керек деген шартты орындаған 
жөн, сол себепті операция ішінде нұсқауыштың нөлге тең екендігін тексеру ке-
рек жəне тең болған жағдайда ешбір əрекеттің орындалмауы қадағалануы тиіс. 
Кластың əрекет ету аймағында жадыны бөлу жəне босатудың стандарт-
ты операцияларын асыра жүктелген операциялармен қатар қолдануға бола-
ды (көріну аймағына қол жеткізу 
::
операциясының көмегімен осы класс 
объектілері үшін жəне тікелей кез келген басқа объектілер үшін).
Жадыны бөлу операциясының асыра жүктелуі жадыны үнемдеу үшін, 
программаның орындалу жылдамдығын жоғарылату немесе мəліметтерді 
қандай да бір нақты көрсетілген аймақта орналастыру үшін қолданылады. 
Мысалы, қандай да бір объектіге нұсқауышы бар төмендегідей класс сипат-
талатын болсын:


209
class Obj { ... }; 
class pObj{
...
private: 
Obj *p;
};
Стандартты
new
операциясының көмегімен 
 pObj
типті объектіге жады 
бөлу кезінде
pObj *p = new pObj;
байттардың нақты саны 
sizeof(pObj)
шамасынан артық болады, өйткені 
new 
операциясы, əдетте, бөлінген аймақтың бас жағына оның өлшемін жаза-
ды (
delete
операциясы дұрыс жұмыс істеуі үшін). 
Шағын объектілер үшін мұндай қосымша шығындардың көлемі айтарлықтай 
үлкен болуы мүмкін. Жадыны үнемдеу үшін 


Достарыңызбен бөлісу:
1   ...   180   181   182   183   184   185   186   187   ...   465




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет