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



Pdf көрінісі
бет288/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   284   285   286   287   288   289   290   291   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

class Obj { ... }; 

class pObj{

      ...

   private: 

      Obj *p;

};

Стандартты  



new

 операциясының көмегімен 



 pObj

 типті объектіге жады 

бөлу кезінде

pObj *p = new pObj;

байттардың нақты саны 



sizeof(pObj)

 шамасынан артық болады, өйткені 



new 

операциясы, əдетте, бөлінген аймақтың бас жағына оның өлшемін жаза-

ды (

delete

 операциясы дұрыс жұмыс істеуі үшін). 

Шағын объектілер үшін мұндай қосымша шығындардың көлемі айтарлықтай 

үлкен болуы мүмкін. Жадыны үнемдеу үшін 



pObj 

класы үшін өзіндік 



new

 опе-


рациясын жазуға болады, ол жадының үлкен блогын бөліп, содан кейін онда 

Obj

 объектісіне нұсқауыштарды орналастырады. Бұл үшін 



pObj

 объектісіне



 

headOfFree

 статикалық өрісі енгізіледі, бұл өрісте кезекті объектіні орнала-

стыру үшін блоктың алғашқы бос объектісіне нұсқауыш сақталады.

Қолданылмайтын ұяшықтар тізімге байланыстырылады. Байланыс өрісіне 

жады жұмсамау үшін біріктірме (

union

) қолданылады, оның көмегімен бір 

ғана ұяшық объектіге нұсқауышты орналастыру үшін де немесе келесі бос 

ұяшықпен байланыс орнату үшін де қолданылады:





Достарыңызбен бөлісу:
1   ...   284   285   286   287   288   289   290   291   ...   642




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

    Басты бет