Студопедия — R.9.3.1 Указатель this
Студопедия Главная Случайная страница Обратная связь

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

R.9.3.1 Указатель this






В нестатической ($$R.9.3) функции-члене служебное слово this обозначаетуказатель на объект, с которым эта функция вызывалась. В функции-членекласса X тип this есть X *const, если только функция-член не описанасо спецификацией const или volatile; для этих случаев this имееттип const X *const или volatile X *const соответственно. Еслифункция описана с указанием const и volatile, то тип this будетconst volatile X *const, см. также $$R.18.3.3. Приведем пример: struct s { int a; int f() const; int g() { return a++; } int h() const { return a++; } // ошибка }; int s::f() const { return a; } Операция a++ в теле функции s::h ошибочна, поскольку с ее помощьюделается попытка изменить объект (часть его), с которым вызываласьфункция s::h(). Это недопустимо для функции-члена, описанной соспецификацией const, т.к. this является указателем на const, инымисловами, *this имеет спецификацию const. Функция-член const (т.е. функция-член, описанная со спецификациейconst) может вызываться как для объектов const, так и для объектовбез спецификации const, тогда как функция-член без спецификацииconst может вызываться только для объектов без спецификации const,например: void k(s& x, const s& y) { x.f(); x.g(); y.f(); y.g(); // ошибка } Здесь вызов y.g() является ошибкой, т.к. y есть const, а s::g() -функция-член без спецификации const, которая может изменять(и изменяет) объекты, для которых она вызывалась. Аналогично, только функция-член volatile (т.е. функция-член,описанная со спецификацией volatile) может вызываться для объектовсо спецификацией volatile. Функция-член может быть одновременноconst и volatile. Для объектов const или volatile могут вызываться конструкторы($$R.12.1) и деструкторы ($$R.12.4). Конструкторы ($$R.12.1) идеструкторы ($$R.12.4) нельзя описывать со спецификациями constили volatile.







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



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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