Четвертый BORLAND С++ и его окружение

       

Встроенные функции


Функция элемент может объявляться в пределах своего класса, но

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

Это макрос-подобные функции, которые вставляются код исполнения,

непосредственно в том месте откуда они вызываются. Ниже приведен пример:

struct rect { // Определение структуры rect (прямоугольник)

int wd, ht; // Ширина и высота

inline int area(int wd, int ht) { return (wd * ht); }

};

...

node1 = area(first, two);

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

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

их помещают в заголовочные файлы, а не в файлы c расширением .CPP.

Заметим, что в определениях класса ключевое слово inline не требуется. Чтобы излишне не увлекаться встроенными функциями, помните - наиболее целесообразно делать функцию встроенной только когда объем

ее кода меньше, чем размер кода, который потребуется для вызова ее

извне.

При необходимости можно отформатировать встроенные определения

таким образом, чтобы они выглядели аналогично другим функциям элементам:

inline int area(int wd, int ht)

{

return (wd * ht);

}

Другое преимущество использования ключевого слова inline состоит

в том, что можно избежать раскрытия исходного текста (*.CPP) в

поставляемых заголовочных файлах.



Содержание раздела