Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1

Кент Рейсдорф. BORLAND C++BUILDER. Страница 72

int Airplane::GetSpeed() {

return speed; // speed является переменной-членом класса

}

В данном случае оператор разрешения видимости сообщает компилятору, что функция GetSpeed() является членом класса Airplane. Я расскажу по­дробнее о функциях-членах класса завтра, когда мы будем изучать классы.

По традиции имена функций-членов класса начинаются с букв верхнего регистра. Хотя жестких требований здесь нет, большинство программ на Си++ следуют именно этой традиции. Замечу также, что я не сторонник использования символа подчеркивания в именах функций. Например, я предпочитаю писать GetVideoRectO вместо get_video_rect(). Независимо от того, какое соглашение вы примете для имен своих функций, будьте последовательны и следуйте ему во ; всех программах.

Подставляемые функции

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

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

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

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

Web-дизайн (с) 2010 All rights reserved