Глава 2. Переменные и память Чтобы писать вашу С++ программу игры, вам нужно будет, чтобы ваш компьютер
запоминал множество вещей. Таких, как например: где в мире находится игрок,
сколько у него здоровья, как много боеприпасов у него осталось, где в мире
расположены предметы и какие улучшения они дают, а также буквы, которые
формируют имя игрока на экране.
В вашем компьютере имеется своего рода система ввода и редактирования
графической информации, называемая память или ОЗУ (оперативное
запоминающее устройство). Физически компьютерная память сделана из кремния
и выглядит как на следующем изображении:
Это ОЗУ похоже на парковку? Такую метафору мы будем использовать.
Оперативная память также означает RAM аббревиатура от Random Access Memory
– память с произвольным доступом. С произвольным доступом, потому что вы
можете иметь доступ к любой её части в любое время. Если у вас до сих пор есть
CD, валяющиеся где то, то они как раз таки являются примером не произвольного
доступа. CD предназначен для чтения и воспроизведения по порядку. Я всё ещё
помню переходы треков в альбоме Dangerous Майкла Джексона, когда я
перематывал назад переключая треки на диске, что занимало кучу времени! Зато
переходы и доступ к разным ячейкам ОЗУ вообще не занимают много времени.
ОЗУ является типом памяти быстрого доступа, известного как флеш-память.
ОЗУ названа энергозависимой флеш-памятью, потому что когда компьютер
выключался, содержимое ОЗУ очищалось и прежнее содержимое ОЗУ терялось,
пока оно сначала не было сохранено на жёсткий диск.
Для постоянного хранения, вам необходимо сохранять ваши данные на жёсткий
диск. Есть два основных типа жёстких дисков: HDD (hard (magnetic) disk drive - накопитель на жёстких магнитных дисках )
и SSD (solid-state drive - твердотельный накопитель)
. SSD которые к тому же являются не механическими
более современные чем HDD, так как они используют принцип ОЗУ, быстрого
доступа к (флеш) памяти. Однако в отличие от ОЗУ, данные на SSD остаются и после
34 |
С т р а н и ц а
того как компьютер был выключен. Если у вас есть возможность, я крайне
рекомендую вам использовать их. Магнитные жёсткие диски уже устарели.
Нам нужен способ резервировать место в ОЗУ и считывать оттуда, и записывать
туда. И к счастью, С++ легко выполняет это.