🗊Презентация Область видимости и время жизни программы. (Лекция 8)

Нажмите для полного просмотра!
Область видимости и время жизни программы. (Лекция 8), слайд №1Область видимости и время жизни программы. (Лекция 8), слайд №2Область видимости и время жизни программы. (Лекция 8), слайд №3Область видимости и время жизни программы. (Лекция 8), слайд №4Область видимости и время жизни программы. (Лекция 8), слайд №5Область видимости и время жизни программы. (Лекция 8), слайд №6Область видимости и время жизни программы. (Лекция 8), слайд №7Область видимости и время жизни программы. (Лекция 8), слайд №8Область видимости и время жизни программы. (Лекция 8), слайд №9Область видимости и время жизни программы. (Лекция 8), слайд №10Область видимости и время жизни программы. (Лекция 8), слайд №11Область видимости и время жизни программы. (Лекция 8), слайд №12Область видимости и время жизни программы. (Лекция 8), слайд №13Область видимости и время жизни программы. (Лекция 8), слайд №14Область видимости и время жизни программы. (Лекция 8), слайд №15Область видимости и время жизни программы. (Лекция 8), слайд №16Область видимости и время жизни программы. (Лекция 8), слайд №17Область видимости и время жизни программы. (Лекция 8), слайд №18Область видимости и время жизни программы. (Лекция 8), слайд №19Область видимости и время жизни программы. (Лекция 8), слайд №20

Вы можете ознакомиться и скачать презентацию на тему Область видимости и время жизни программы. (Лекция 8). Доклад-сообщение содержит 20 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Лекция 8
Область видимости
Время жизни
Описание слайда:
Лекция 8 Область видимости Время жизни

Слайд 2





Область видимости
Область видимости – характеристика именованного объекта
Область видимости - часть текста программы, на протяжении которого к объекту можно обращаться по его имени. 
Глобальная область видимости
Имя считается глобальным, если оно объявлено вне любой функции, класса или пространства имен. Область видимости – от объявления до конца файла (единицы трансляции).
Локальная область видимости
Имя считается локальным, если оно объявлено в теле функции или в пространстве имен. Область видимости – от объявления и до окончания блока (кода, ограниченного фигурными скобками {})
Описание слайда:
Область видимости Область видимости – характеристика именованного объекта Область видимости - часть текста программы, на протяжении которого к объекту можно обращаться по его имени. Глобальная область видимости Имя считается глобальным, если оно объявлено вне любой функции, класса или пространства имен. Область видимости – от объявления до конца файла (единицы трансляции). Локальная область видимости Имя считается локальным, если оно объявлено в теле функции или в пространстве имен. Область видимости – от объявления и до окончания блока (кода, ограниченного фигурными скобками {})

Слайд 3





Вложенные области
Объявление вводит имя в область видимости
Область видимости имени начинается сразу после объявителя, но перед определением
Области видимости могут быть вложенными
Объявление имени во вложенном блоке скрывает объявление в охватывающем блоке. После выхода из блока имя восстанавливает прежний смысл
Скрытые глобальные имена доступны всегда
Доступ к глобальным переменным осуществляется с помощью оператора доступа ::
Скрытые локальные имена недоступны
Описание слайда:
Вложенные области Объявление вводит имя в область видимости Область видимости имени начинается сразу после объявителя, но перед определением Области видимости могут быть вложенными Объявление имени во вложенном блоке скрывает объявление в охватывающем блоке. После выхода из блока имя восстанавливает прежний смысл Скрытые глобальные имена доступны всегда Доступ к глобальным переменным осуществляется с помощью оператора доступа :: Скрытые локальные имена недоступны

Слайд 4





Примеры
Описание слайда:
Примеры

Слайд 5





Пространства имен
Описание слайда:
Пространства имен

Слайд 6





Пространства имен (namespaces)
Служат для группировки глобальных имен
Создают область видимости глобальных переменных
Обеспечивают доступ с квалификатором ::
Могут быть вложенными
Пространства имен могут многократно вкладываться. Каждое вложение создает свою область видимости
Существуют только вне кода
Пространства имен не могут быть объявлены внутри тела функции
Описание слайда:
Пространства имен (namespaces) Служат для группировки глобальных имен Создают область видимости глобальных переменных Обеспечивают доступ с квалификатором :: Могут быть вложенными Пространства имен могут многократно вкладываться. Каждое вложение создает свою область видимости Существуют только вне кода Пространства имен не могут быть объявлены внутри тела функции

Слайд 7





Объявления и определения в ПИ
ПИ могут быть объявлены несколько раз
Объявления всегда включаются в ПИ
Нельзя объявить новый объект из пространства имен вне определения этого пространства
Определения могут не включаться
Объекты, объявленные в пространстве имен, могут быть определены вне его с помощью квалификатора ::
Описание слайда:
Объявления и определения в ПИ ПИ могут быть объявлены несколько раз Объявления всегда включаются в ПИ Нельзя объявить новый объект из пространства имен вне определения этого пространства Определения могут не включаться Объекты, объявленные в пространстве имен, могут быть определены вне его с помощью квалификатора ::

Слайд 8





Ключевое слово using
Раскрытие имени из пространства имен
Директива using позволяет использовать имя из пространства имен внутри текущего и всех вложенных блоков без использования квалификатора
Директива using namespace позволяет использовать все имена из пространства имен внутри текущего и всех вложенных блоков без использования квалификатора
Описание слайда:
Ключевое слово using Раскрытие имени из пространства имен Директива using позволяет использовать имя из пространства имен внутри текущего и всех вложенных блоков без использования квалификатора Директива using namespace позволяет использовать все имена из пространства имен внутри текущего и всех вложенных блоков без использования квалификатора

Слайд 9





Безымянные ПИ и псевдонимы
Безымянные пространства имен 
Служат для объявления объектов с внутренней компоновкой. Все имена безымянного пространства имен видны внутри текущей единицы трансляции
Псевдонимы пространств имен
Служат для сокращения имен длинных и вложенных пространств имен.
Описание слайда:
Безымянные ПИ и псевдонимы Безымянные пространства имен Служат для объявления объектов с внутренней компоновкой. Все имена безымянного пространства имен видны внутри текущей единицы трансляции Псевдонимы пространств имен Служат для сокращения имен длинных и вложенных пространств имен.

Слайд 10





Поиск Кёнига
Поиск имени вызываемой функции
Если имя вызываемой функции отсутствует в текущей области видимости, ее поиск осуществляется в областях видимости ее аргументов, причем настолько широко, насколько это возможно.
Описание слайда:
Поиск Кёнига Поиск имени вызываемой функции Если имя вызываемой функции отсутствует в текущей области видимости, ее поиск осуществляется в областях видимости ее аргументов, причем настолько широко, насколько это возможно.

Слайд 11





Операции с пространствами имен
Описание слайда:
Операции с пространствами имен

Слайд 12





Размещение и время жизни
Описание слайда:
Размещение и время жизни

Слайд 13





Размещение в памяти
Глобальное (статическое)
Время жизни объекта совпадает с временем жизни программы
Динамическое
Время жизни объекта управляется пользователем
Локальное (Стековое, автоматическое)
Время жизни объекта ограничено областью видимости
Временное
Время жизни объекта ограничено точкой применения
Описание слайда:
Размещение в памяти Глобальное (статическое) Время жизни объекта совпадает с временем жизни программы Динамическое Время жизни объекта управляется пользователем Локальное (Стековое, автоматическое) Время жизни объекта ограничено областью видимости Временное Время жизни объекта ограничено точкой применения

Слайд 14





Глобальные переменные
Размещены вне функций и классов
Пространства имен не влияют на вид размещения.
Всегда инициализируются
Если специально не указан инициализатор, глобальные объекты простых и адресных типов всегда инициализируются нулем, для объектов пользовательских типов вызывается конструктор по-умолчанию.
Создаются до старта программы
Порядок создания внутри единицы трансляции задается порядком определений. Порядок создания для объектов в разных единицах трансляции не определен
Удаляются после окончания программы
Глобальные объекты удаляются из памяти автоматически, в порядке, обратном порядку создания.
Описание слайда:
Глобальные переменные Размещены вне функций и классов Пространства имен не влияют на вид размещения. Всегда инициализируются Если специально не указан инициализатор, глобальные объекты простых и адресных типов всегда инициализируются нулем, для объектов пользовательских типов вызывается конструктор по-умолчанию. Создаются до старта программы Порядок создания внутри единицы трансляции задается порядком определений. Порядок создания для объектов в разных единицах трансляции не определен Удаляются после окончания программы Глобальные объекты удаляются из памяти автоматически, в порядке, обратном порядку создания.

Слайд 15





Динамические переменные
Позволяет использовать всю доступную память процесса
Локальные переменные оперируют стеком, размер которого ограничен. Динамические объекты могут использовать все свободное адресное пространство процесса
Создаются при помощи оператора new
Команда выделения и освобождения памяти является оператором. Таким образом, память может быть выделена в любой момент в теле программы
Удаляются при помощи оператора delete
После окончания программы вся(!) динамическая память должна быть освобождена, в противном случае это считается ошибкой.
Время жизни – от создания до удаления
Описание слайда:
Динамические переменные Позволяет использовать всю доступную память процесса Локальные переменные оперируют стеком, размер которого ограничен. Динамические объекты могут использовать все свободное адресное пространство процесса Создаются при помощи оператора new Команда выделения и освобождения памяти является оператором. Таким образом, память может быть выделена в любой момент в теле программы Удаляются при помощи оператора delete После окончания программы вся(!) динамическая память должна быть освобождена, в противном случае это считается ошибкой. Время жизни – от создания до удаления

Слайд 16





Операторы new и delete
Оператор new
Выделение памяти под переменную
Выделение памяти под массив
Размещение в уже выделенной памяти (placement new)
Оператор delete
Освобождение выделенной памяти
Освобождение выделенной памяти под массив
Применение delete к нулю не вызывает никаких действий
Двойное удаление вызывает ошибку
Описание слайда:
Операторы new и delete Оператор new Выделение памяти под переменную Выделение памяти под массив Размещение в уже выделенной памяти (placement new) Оператор delete Освобождение выделенной памяти Освобождение выделенной памяти под массив Применение delete к нулю не вызывает никаких действий Двойное удаление вызывает ошибку

Слайд 17





Локальные переменные
Выделяются на стеке
Время жизни совпадает с областью видимости
Память освобождается в обратном порядке выделения
Описание слайда:
Локальные переменные Выделяются на стеке Время жизни совпадает с областью видимости Память освобождается в обратном порядке выделения

Слайд 18





Статические локальные переменные
Объявляются локально 
Имеют локальную область видимости
Создаются статически 
Время жизни как у глобальных объектов
Инициализируются при первом обращении
Инициализатор статической локальной переменной выполняется только один раз, при выполнении инструкции определения. При последующих обращениях к тому же коду инициализатор «пропускается»
Описание слайда:
Статические локальные переменные Объявляются локально Имеют локальную область видимости Создаются статически Время жизни как у глобальных объектов Инициализируются при первом обращении Инициализатор статической локальной переменной выполняется только один раз, при выполнении инструкции определения. При последующих обращениях к тому же коду инициализатор «пропускается»

Слайд 19





Размещение литералов
Литералы базовых типов
	Не имеют размещения и транслируются непосредственно в машинный код
Литералы строковых типов
Размещаются статически и существуют до окончания программы
Описание слайда:
Размещение литералов Литералы базовых типов Не имеют размещения и транслируются непосредственно в машинный код Литералы строковых типов Размещаются статически и существуют до окончания программы

Слайд 20





Временные переменные
Временные аргументы
Создаются в момент вызова функции. Время жизни – до окончания функции
Временные возвращаемые значения
Создаются на стэке вызывающей функции. Время жизни – до окончания инструкции вызова.
Константные ссылки на временные значения
Создаются на стэке вызывающей функции. Время жизни продлевается до окончания области видимости
Описание слайда:
Временные переменные Временные аргументы Создаются в момент вызова функции. Время жизни – до окончания функции Временные возвращаемые значения Создаются на стэке вызывающей функции. Время жизни – до окончания инструкции вызова. Константные ссылки на временные значения Создаются на стэке вызывающей функции. Время жизни продлевается до окончания области видимости



Похожие презентации
Mypresentation.ru
Загрузить презентацию