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

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

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




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


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


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


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

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

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

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

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