Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка 8.docx
Скачиваний:
3
Добавлен:
25.11.2018
Размер:
30.55 Кб
Скачать

Вопросы для повторения

1. Встроенные функции. Назначение. Особенности. Преимущества и

недостатки.

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

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

2. Встроенные функции. Правила оформления и требования к функции.

Чтобы воспользоваться этим средством, нужно выполнить

следующее:

Предпослать определению функции ключевое слово inline

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

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

3. Ссылочные переменные. Назначение ссылок.

Ссылка представляет собой имя, которое является альтернативным или псевдонимом для ранее объявленной переменной. Основное назначение ссылок — их использование в качестве формальных аргументов функций.

4. Создание ссылочных переменных. Символ & в языке С++.

В языках С и C++ используется символ & для обозначения адреса переменной. Язык C++ придает символу & дополнительный смысл и внедряет его для объявления ссылок.

5. Создание ссылочных переменных. Ссылки и указатели : сходсто и

различия.

Язык С++ позволяет использовать как ссылку, так и указатель, чтобы ссылаться на rats:

int rats = 101;

int & rodents = rats; // rodents — это ссылка

int * prats = &rats; // prats — это указатель

Ссылку необходимо инициализировать в момент, когда вы ее объявляете. Вы не

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

6. Ссылки в роли параметров функции. Чем отличается передача

параметров функции по ссылке и передача параметров функции по

значению.

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