Студопедия Главная Случайная страница Обратная связь

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

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; просмотров: 315. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

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

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

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