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

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

R.5.2.2 Вызов функции






Вызов функции является постфиксным выражением, за которым следует,возможно пустой, список выражений в скобках, разделенных запятой.Эти выражения образуют фактические параметры функции. Постфиксноевыражение должно иметь тип "функция, возвращающая T", "указатель нафункцию, возвращающую T" или "ссылка на функцию, возвращающую T",а результат операции вызова имеет тип "T". При вызове функции происходит инициализация каждого формальногопараметра ($$R.8.4.3, $$R.12.8, $$r.12.1) фактическим параметром.Производятся стандартные ($$R.4) и заданные пользователем ($$R.12.3)преобразования типа. В функции может изменяться значения непостоянныхформальных параметров, но эти изменения не могут повлиять на значенияфактических параметров, кроме того случая, когда формальный параметримеет тип ссылки без спецификации const ($$R.8.2.2). Если формальныйпараметр имеет тип ссылки при необходимости может создаватьсявременная переменная ($$R.7.1.6, $$R.2.5,$$R.2.5.4,$$R.8.2.4,$$R.12.2). Добавим, что возможно изменение непостоянных объектов спомощью параметров-указателей. Функцию можно описать таким образом, что она сможет использоватьменьшее число параметров (определив параметры по умолчанию $$R.8.2.6)или большее число параметров (с помощью эллипсиса... $$R.8.2.5),чем было указано при определении функции ($$R.8.3). Функцию можно вызвать только, если описание ее доступно в той областивидимости, где происходит вызов. Отсюда следует, всякий формальныйпараметр, соответствующий некоторому фактическому параметру, долженбыть доступен, если не считать эллипсис (...). Перед вызовом всякий фактический параметр типа float, для которогонет формального параметра, преобразуется к типу double, а типаchar, short, перечисления или битовое поле, для которого нетформального параметра, преобразуется к типу int или unsignedсогласно стандартным преобразованиям целочисленных ($$R.4.1).Объект, являющийся классом и не имеющий описания формального параметра,передается при вызове как структура данных. Объект, являющийся классом и имеющий описание формальногопараметра передается с помощью инициализации формального параметрафактическим параметром, которая происходит перед выполнениемфункции посредством вызова конструктора ($$R.12.2, $$R.12.8). Порядок вычислений параметров неопределен и учтите, что онможет быть различен у разных трансляторов. Все побочные эффектывыражений фактических параметров могут происходить перед началомвыполнения функции. Порядок вычисления постфиксных выражений исписка выражений параметров неопределен. Допустимы рекурсивные вызовы. Операция вызова функции порождает адрес только, если типрезультата есть адрес.







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



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

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

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

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

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