C++: библиотека программиста



Download 1,95 Mb.
Pdf ko'rish
bet106/144
Sana24.02.2022
Hajmi1,95 Mb.
#223123
TuriРеферат
1   ...   102   103   104   105   106   107   108   109   ...   144
Bog'liq
C -Eldjer-Djeff-for-Real-Programmers-RUS-www.itlibitum.ru

 
189 
Для такой простой проблемы программа получилась довольно большой. Я не утверждаю, что ваши 
хлопоты оправдаются во всех проектах. Мое решение в основном предназначено для ситуаций, в 
которых вы тратите много времени на разработку иерархии классов многократного использования и 
можете позволить себе потратить время на повышение модульности. Я привел его, поскольку оно 
соответствует основной идее книги — выжать из С++ все возможное и невозможное и щедро 
разбросать головоломки, представляющие интерес даже для самых выдающихся экспертов. 
Множественная двойная передача 
Множественная передача и все ее разновидности тоже имеют свои аналоги в мире невидимых 
указателей, но я бы не рискнул рекомендовать их для использования в реальных проектах. 
Применение невидимых указателей 
В оставшихся главах речь пойдет об управлении памятью. Сейчас я забегу вперед и перечислю 
некоторые стратегии управления памятью, которые упрощаются за счет применения невидимых 
указателей. 
Кэширование 
Кэширование уже упоминалось в контексте обычных умных указателей, однако для невидимых 
указателей оно приобретает дополнительное значение. Невидимый указатель может содержать адрес 
указываемого объекта на диске и в последнюю секунду перед тем, как передавать полномочия объекту, 
считывать объект. Все это происходит незаметно для клиента, поэтому со схемой можно 
экспериментировать, обходясь без изменений больших объемов кода. 
Распределенные объекты и посредники 
Раз уж мы заговорили об этом, стоит ли ограничиваться диском, если доступны и другие компьютеры? 
Благодаря невидимым указателям клиент не заботится о том, находится ли объект, к которому он 
обращается, на том же компьютере или же он затерян в глобальной сети где-то в горах Тибета. Когда 
невидимый указатель используется для делегирования удаленному объекту, он называется 
посредником (proxy) для этого объекта. 
Нетривиальные распределенные архитектуры 
В некоторых распределенных архитектурах посредник должен содержать локальный кэшированный 
образ удаленного объекта. Это приводит к снижению сетевого трафика для редко изменяемых 
объектов. В частности, в данной стратегии нередко используется схема с главным маркером (master 
token): чтобы обновить объект, вы должны сначала получить его копию у процесса и компьютера, 
которым она принадлежит в настоящий момент. Все это может происходить незаметно для клиента, с 
использование невидимых указателей и различением константных и неконстантных функций. 
Невидимые указатели — это замечательная лаборатория, в которой можно поэкспериментировать с 
различными стратегиями и выяснить, какая из них работает лучше. Методики, в которых реализуются 
переходные типы, также позволяют оперативно заменять одно представление объекта другим. 



Управление памятью 
Об управлении памятью и идиомах С++, упрощающих этот процесс
написано на удивление мало — особенно если учесть, сколько сил 
тратится на такое управление в реальном программировании. Здесь мы 
займемся этой таинственной темой, начнем с самого простого и перейдем 
к невероятно сложному. При этом мы будем под разными углами 
крутить, складывать и расчленять синтаксис С++, чтобы спрятать 
управление памятью или извлечь из него пользу. Приемы управления 
памятью вполне могли бы стать темой для отдельной книги. Зажигайте 
благовония и запевайте мантры! 

Download 1,95 Mb.

Do'stlaringiz bilan baham:
1   ...   102   103   104   105   106   107   108   109   ...   144




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