C++ за 21 день седьмое издание


Чем помогут интеллектуальные указатели



Download 1,38 Mb.
bet394/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   390   391   392   393   394   395   396   397   ...   437
Bog'liq
word1

Чем помогут интеллектуальные указатели



  1. учетом описанной выше проблемы использования обычного указателя и обычных способов управления памятью следует заметить, что программист C++ не обязан исполь­ зовать именно их, когда дело доходит до управления данными в распределяемой (динами­ ческой) памяти. Программист может выбрать более передовой способ резервирования и управления динамическими данными при помощи интеллектуальных указателей:



smart_pointer spData = mObject.GetData ();



// Использовать интеллектуальный указатель как обычный!

Как реализованы интеллектуальные указатели

575



spData->Display ();


(*spData).Display () ;



  1. Можно не заботиться об освобождении




  1. (деструктор интеллектуального указателя сделает это самостоятельно)

Таким образом, интеллектуальные указатели ведут себя как обычные указатели (давай­ те называть их теперь простыми указателями (raw pointer)), но предоставляют полезные средства при помощи своих перегруженных операторов (overloaded operator) и деструк­ торов (destructor), гарантирующих своевременное освобождение динамически распреде­ ленных данных.


Как реализованы интеллектуальные указатели



      1. настоящий момент этот вопрос может быть упрощен до “Почему интеллектуальный указатель sp D a ta способен функционировать как обычный указатель?” Ответ таков: что­ бы позволить программисту использовать их как обычные указатели, классы интеллекту­ ального указателя перегружают оператор обращения к значению (*) и оператор обращения




  1. члену (->). Перегрузка операторов обсуждалась ранее на занятии 12, “Типы операторов




    1. их перегрузка”.

Кроме того, чтобы позволить управлять объектами в распределяемой памяти, тип кото­ рых вы выбираете сами, почти все хорошие классы интеллектуального указателя являются шаблонами класса и содержат обобщенную реализацию их функциональных возможно­ стей. Будучи шаблонами, они обладают универсальностью и могут быть специализирова­ ны для управления объектами с типом по вашему выбору.





      1. истинг 26.1 содержит типичную реализацию простого класса интеллектуального указателя.


  1. И СТ И Н Г 2 6 .1 . М инимально необходимые компоненты класса интеллектуального указателя





    1. Download 1,38 Mb.

      Do'stlaringiz bilan baham:
1   ...   390   391   392   393   394   395   396   397   ...   437




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