Студопедия — R.12.2 Временные объекты
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.12.2 Временные объекты






В некоторых ситуациях транслятору бывает необходимо или удобносоздавать временные объекты. Использование временных объектовзависит от реализации. Если транслятору понадобился временныйобъект типа класса с конструктором, он должен обеспечить вызовконструктора для этого временного объекта. Аналогично, необходимовызывать деструктор для объекта класса, в котором описандеструктор. Приведем пример: class X { //... public: //... X(int); X(X&); ~X(); }; X f(X); void g() { X a(1); X b = f(X(2)); a = f(b); } Здесь нужен временный объект для построения X(2), прежде чемпередать его функции f() с помощью X(X&). Альтернативное решение, -построить объект X(2) в памяти, используемой для хранения параметрапри первом вызове f(). Помимо этого, временный объект можетпонадобиться для хранения результата f(X(2)) прежде, чем копироватьего в объект b с помощью X(X&), и здесь возможно альтернативноерешение: хранить результат f(X(2)) в памяти для объекта b. С другойстороны, существует много функций f(), для которых выполнениевыражения a=f(a) требует временного объекта или для параметра a,или для результата f(a), чтобы избежать нежелательного использованияпамяти, которой приписывается имя a. Транслятор обязан гарантировать уничтожение временных объектов.Точный момент уничтожения определяется реализацией. С временнымиобъектами можно производить только две операции: выбрать значениеобъекта (неявно копируя его) для использования в другом выражении,или взять ссылку на него. Если значение временного объекта получено,он считается ненужным и может уничтожаться немедленно. Если на негополучена ссылка, то уничтожать его нельзя, пока существует ссылка.Уничтожение должно произойти до выхода из области определенности,в которой был создан временный объект. Другой вид временных объектов обсуждается в $$R.8.4.3.







Дата добавления: 2015-09-04; просмотров: 286. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Лечебно-охранительный режим, его элементы и значение.   Терапевтическое воздействие на пациента подразумевает не только использование всех видов лечения, но и применение лечебно-охранительного режима – соблюдение условий поведения, способствующих выздоровлению...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Studopedia.info - Студопедия - 2014-2024 год . (0.007 сек.) русская версия | украинская версия