Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Типы значений и ссылочные типы
7 февраля 2009

Как говорилось ранее, в .NET Framework две разновидности типов: ссылочные типы
(reference types) и типы значений (value types). Основное различие между ними за-
ключается в способе доступа к переменным, объявленным с этими типами. Чтобы
разобраться в сути этого различия, необходимо кратко пояснить основы динами-
ческого использования памяти.
Занимаемая приложением память складывается из двух основных компонентов:
стека (stack) и кучи (heap). Стек — это область памяти, резервируемая для исполне-
ния программы. Стек напоминает стопку тарелок: если нужна чистая тарелка, бе-
рут тарелку из стопки (то есть ту, которую положили последней). С переменными
программы происходит то же самое: при вызове функции все объявленные в ней
переменные заталкиваются в стек (эта операция называется push); если эта функ-
ция вызовет другую функцию, то все переменные, объявленные новой функцией,
тоже попадут в стек. Когда функция, вызванная последней, завершится, ее пере-
менные выходят из области видимости (scope) программы и выталкиваются из сте-
ка (эта операция называется pop); в результате память, занимаемая этими перемен-
ными, освобождается, и выполнение программы продолжается.
Куча — отдельная область памяти, резервируемая для создания объектов, кото-
рые предназначены для многократного использования. CLR выделяет в куче па-
мять под объекты и управляет утилизацией памяти, занятой неиспользуемыми
объектами, посредством механизма под названием сбор мусора.

Теги: .NET

Статьи по теме:

Обработка исключений и императивная защита
Реализация полиморфизма через наследование
Ограничения Foreign Key
Модификаторы доступа для вложенных типов
Разрешения
Карринг (currying)
Установка и извлечение динамических свойств вручную
Оптимизация средствами компилятора
Получение доступа к членам базового класса
Проверка на уровне поля
Создание дополнительных типов объектов Doughnut
Параметры компоновки установочной программы
Локальные функции
Установка сборок в виде компилированных образов
Динамические свойства
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Типы значений и ссылочные типы. Регион сайта: Москва и Санкт-Петербург