Dzisiaj testowałem funkcję inline, która pozwala na wypisanie wnętrza funkcji np. takiej jak poniżej,
int zor(int ases) {
return ( ases + 0.5)
}
Jak ją stosować? Wystarczy dodanie do funkcji wyżej przedrostka inline :
inline int zor(int ases) {
return ( ases + 0.5)
}
Od tej pory wszystko co jest w środku zostanie wyświetlone tak jakby był to sam zapis w int main() ,
„return ( ases + 0.5)”..
Po co stosować ? By skrócić czas działania, i przedewsystkim po to by byłoby to łatwiejsze.
( Szybsze wywoływanie funkcji .. )
Dobra koniec gadania, teraz przykładowy program.
#
#include
using std::cin;
using std::cout;
using std::endl;
double
poczatek_x, poczatek_y, skala_x = 1, skala_y = 1;
inline double wspx(double wspolrzedna) {
return( (wspolrzedna-poczatek_x) * skala_x );
}
inline double wspy(double wspolrzedna) {
return ( ( wspolrzedna - poczatek_y ) * skala_y );
}
int main() {
double x1=100,
y1=100;
cout<<"Mamy punkt o wspolrzednych\n";
cout<<"x="<
Nie do końca rozumiesz idee inline (a bynajmniej nie wyjasniles), otóż funkcja wykonuje się szybciej bo jest kopiowana w miejsce wywołania, nie zostaje wykonany skok do funkcji o podanym adresie.
czyli za kazdym razem gdy w main wypisujesz wspy()
to kompilator wkleja tam cale ciało funkcji.
Ogólnie fajny blog
pozdrawiam