Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Определение функции (реализация).Содержание книги
Поиск на нашем сайте Определение функции включает те же поля, что и прототип функции + тело функции – код, выполняющийся при вызове функции (заключён в {}). double summa (double a, double b) { double c; c=a+b; return c; } Вызов функции: для обеспечения эффективного и безопасного вызова функций требуется обеспечить: 1) связь по управлению; a) вызов и возврат; b) сохранение и восстановление контекста вызывающей части; 2) функция должна производить одни и те же действия с разными наборами данных.
Вызов inline функции.
Ключевое слово inline указывает компилятору, что он должен пытаться, каждый раз встречая вызов функции, вместо последовательности действий подставлять тело функции.
При этом: 1. исключаются накладные расходы на вызов функции; 2. сохраняется структурность текста программы. “-“ – увеличивает объем памяти
Inline функция не применима: 1. для функции, которая вызывается посредством указателя; 2. для функции с переменным числом параметров; 3. для рекурсивных функций.
main() _ _cdecl, _fastcall, _stdcall - соглашение о вызове функции Соглашения включают понятия: 1. способ передачи параметров (порядок размещения параметров в стеке); 2. кто восстанавливает стек – вызывающая или вызываемая функция; 3. способ хранения имён функций в объектном модуле; Пример: пусть существует функция вида:
сdecl - параметры формируются справа налево. _stdcall (в стиле Паскаль) – используется для уменьшения объёма исполняемого файла.
//количество байт, занимаемое параметром в стеке
по указателю по ссылке(C++) Передача параметров по значению – простая передача в стеке, не оставляющая возможности для изменения самих переменных, вызывающих функцию. Передача параметров по адресу – способ предполагает, что функция получает не копии объектов, а их адреса. При этом программист получает возможность изменить значение объекта по этому адресу. Вызовы подразделяются на вызовы по ссылке и по адресу. Если при передаче адреса требуется запретить функции модифицировать значения по этому адресу, используется ключевое слово const. main()
main()
int My (const char *p) main() } void f(int*) int f1(); }
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2021-12-15; просмотров: 94; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.005 с.) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||