Если часто повторяется обращение к очень маленькой функции, то можно начать беспокоиться о стоимости вызова функции. В этом случае можно рассмотреть возможность спецификации функции как inline-подставляемой. При этом компилятор сгенерирует для функции соответствующий код в месте ее вызова, в результате чего время выполнения программы сокращается. Это особенно эффективно для небольших функций, которые вызываются в программе много раз. Если функция слишком велика, то компилятор может проигнорировать рекомендацию пользователя подставить в программный код тело функции по месту ее вызова. Семантика вызова не изменяется.
Пример: Вычислить значение интеграла, используя метод хорд,
#include<iostream.h>
#include<math.h>
inline float F(float x){return(2*sin(x));}
main()
{
float a,b,x,h,I=0,k=sqrt(2)/2,c,c1,c2;
int n;
cout<<"Введите пределы интегрирования:"<<endl;
cout<<"А="; cin>>a;
cout<<"В="; cin>>b;
cout<<"Введите число интервалов N= "; cin>>n;
h=(b-a)/n;
for(int i=1;i<=n;i++)
{
c=a+h;
c1=(c+a)/2;c2=(c-a)/2;
x=c1-c2*k;
for(int j=1;j<=3;j++)
{I=I+F(x);
x=x+c2*k;
}
a=c;
}
I=I*h/3;
cout<<"I="<<I;
}
РЕЗУЛЬТАТ:
Введите пределы интегрирования
А=1
В=2
Введите число интервалов N=12
I=1.9129