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

Классы & объекты C++

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

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

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

Функции, определённые внутри определения класса, являются встроенными функциями, даже если не используется спецификаторinline.

Ниже приведён пример, использующий встроенную функцию для возврата максимума из двух чисел:

#include <iostream>
 
using namespace std;

inline int Max(int x, int y)
{
   return (x > y)? x : y;
}

// 程序的主函数
int main( )
{

   cout << "Max (20,10): " << Max(20,10) << endl;
   cout << "Max (0,200): " << Max(0,200) << endl;
   cout << "Max (100,1010): " << Max(100,1010) << endl;
   return 0;
}

Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:

Max (20,10): 20
Max (0,200): 200
Max (100,1010): 1010

Классы & объекты C++

Другие расширения