Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Використання динамічних списків на прикладі гри &Хрестики-нулики&

Реферат Використання динамічних списків на прикладі гри &Хрестики-нулики&















Курсова робота

з дисципліни

«Технології програмування»

Тема: «Використання динамічних списків на прикладі гри« Хрестики-нулики »»



Введення


Пам'ять, що виділяється в процесі виконання програми, називається динамічною. Після виділення динамічної пам'яті вона зберігається до її явного звільнення, що може бути виконано тільки за допомогою спеціальної операції або бібліотечної функції.

Переваги динамічної пам'яті:

- економічність і ефективність її використання;

можливість динамічної зміни числа елементів в пов'язаних структурах, наприклад, списках (статичної пам'яті число елементів фіксовано для кожної компіляції);

статичні змінні існують тільки протягом життя блоку, в якому вони оголошені, а динамічні - і після виходу з блоку до закінчення програми, а на практиці - стільки, скільки потрібно за алгоритмом;

змінна, що розміщується динамічно, що не оголошується в розділі VAR і не має імені в програмі («невидимка»). Компілятор не планує виділення місця в пам'яті під такі змінні.

Недоліки динамічної пам'яті:

- ускладнюються процеси виділення і звільнення динамічної пам'яті в порівнянні зі статичною;

ускладнюються алгоритми обробки даних, представлених динамічними структурами.

У процесі виконання програми ділянку динамічної пам'яті доступний скрізь, де доступний покажчик, що адресує цю ділянку. Таким чином, можливі наступні три варіанти роботи з динамічною пам'яттю, що виділяється в деякому блоці (наприклад, в тілі неголовних функції).

· Покажчик (на ділянку динамічної пам'яті) визначений як локальний об'єкт автоматичного запам'ятовування. У цьому випадку виділена пам'ять буде недоступна при виході за межі блоку локалізації покажчика, і її потрібно звільнити перед виходом з блоку.

· Покажчик визначений як локальний об'єкт статичної пам'яті. Динамічна пам'ять, виділена одноразово в блоці, доступна через покажчик при кожному повторному вході в блок. Пам'ять потрібно звільнити тільки після закінчення її використання.

· Покажчик є глобальним об'єктом по відношенню до блоку. Динамічна пам'ять доступна у всіх блоках, де видний покажчик. Пам'ять потрібно звільнити тільки після закінчення її використання.

Покажчик може перебувати в одному з трьох станів, а саме:

містить адреса розміщення; містить значення зумовленою константи nil ; такий покажчик називається порожнім, тобто не вказує ні на яку змінну.

Покажчик зі значенням nil містить 0 в кожному з чотирьох байтів.

Покажчики можна

? порівнювати з іншими покажчиками,

? присвоювати їм адресу або значення іншого покажчика,

? передавати як параметр.

Покажчик не можна

? віддрукувати;

? вивести на екран.



Засоби виділення і звільнення пам'яті


У мові C ++ існують передбачені стандартом C ++, а також перейшли у спадок від C засоби виділення і звільнення пам'яті. Крім того, кожна платформа надає свої кошти управління пам'яттю (як правило, стандартні мовні засоби якраз до них і звертаються, але у програміста є можливість звернутися до них безпосередньо). Проблема цих систем і мов (у тому числі C ++) полягає в тому, що програміст сам відповідає за своєчасне звільнення блоків пам'яті після того, як в них відпадає потреба - для цього теж є спеціальні функції. Якщо програміст забуде звільнити блок, згодом може виникнути нестача пам'яті - віртуальний адресний простір процесу заб'ється і вільного місця не залишиться, хоча в той же час в пам'яті будуть присутні блоки, які фактично не використовуються.

Розглянемо коротко засоби управління пам'яттю.

Оператор new дуже зручний - він не вимагає вказівки розміру блоку, який потрібно виділити. Розмір визначається компілятором автоматично виходячи з типу, який вказується після ключового слова new. Крім виклику самої функції виділення пам'яті відбувається ще й виклик конструктора об'єкта, якщо вказано об'єктний тип. Синтаксис виклику оператора має кілька варіантів, розглянемо найбільш часто вживається...


сторінка 1 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Анотований покажчик документів державного архіву Гомельської області з істо ...
  • Реферат на тему: Розрахунок автокореляційної функції одновимірної динамічної моделі
  • Реферат на тему: Створення динамічної моделі календаря за допомогою іменованих констант в Mi ...
  • Реферат на тему: Структура динамічної системи верстата
  • Реферат на тему: Показники динамічної якості верстата