Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1
Кент Рейсдорф. BORLAND C++BUILDER. Страница 72
int Airplane::GetSpeed() {
return speed; // speed является переменной-членом класса
}
В данном случае оператор разрешения видимости сообщает компилятору, что функция GetSpeed() является членом класса Airplane. Я расскажу подробнее о функциях-членах класса завтра, когда мы будем изучать классы.
По традиции имена функций-членов класса начинаются с букв верхнего регистра. Хотя жестких требований здесь нет, большинство программ на Си++ следуют именно этой традиции. Замечу также, что я не сторонник использования символа подчеркивания в именах функций. Например, я предпочитаю писать GetVideoRectO вместо get_video_rect(). Независимо от того, какое соглашение вы примете для имен своих функций, будьте последовательны и следуйте ему во ; всех программах.
Обычно функция включается в исполняемый файл один раз. В дальнейшем она используется посредством вызовов. При этом в программе каждый раз происходит переход от точки вызова функции на начало этой функции. После выполнения операторов функции и возврата, программа продолжается с оператора, следующего за вызовом функции.
Подставляемая функция (inline function) включается в исполняемый файл каждый раз, когда к ней происходит обращение.
Подставляемые функции объявляются подобно обычным функциям, но с использованием ключевого слова inline. Когда компилятор встречает в исходном тексте программы обращение к подставляемой функции, он помещает в исполняемый файл отдельную копию этой функции. Подставляемые функции выполняются быстрее, поскольку фактически вызова функции не происходит.
Подставляемыми следует делать функции очень небольшого размера, или же функции, которые должны выполняться очень быстро. Большие функции, а также функции/ вызываемые много раз по ходу программы, не стоит делать подставляемыми. Это приведет к заметному увеличению размера исполняемого файла.