Funkcja inline( w lini )

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="<
	

Komentarze

  1. 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

Dodaj komentarz