Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

Funkcje inline


powrót

Funkcje inline

Tworzenie funkcji w C++ wiąże się z przydzieleniem pamięci w innym segmencie niż program główny. Oznacza to, że podczas wywoływania funkcji, program musi przeskoczyć w to miejsce, czego konsekwencją jest nieznaczne jego opóźnienie. Jeśli programiście zależy, aby program był szybki, można stworzyć funkcję inline (w lini).

Funkcje inline możemy rozumieć w ten sposób, że kod tej funkcji jest "wklejany" w miejsce, gdzie została ona wywołana (pracujemy wtedy na tym samym segmencie pamięci, oszczędzając czas). Funkcje tego typu tworzy się zazwyczaj dla krótkich kilku linijkowych funkcji. Jeśli kompilator uzna, że dany podprogram nie kwalifikuje się jako inline, to słowo inline zostanie zignorowane.

Słowo kluczowe inline wstawiamy przed typem funkcji:

inline int funkcja(argumenty);
inline void innafunkcja(argumenty);

itd.

Dla przykładu napiszemy funkcję sumującą dwie liczby:

#include <iostream>
using namespace std;

inline double suma(double a,double b)
{
	return a+b;
}

int main()
{
	double a,b;

	cout<<"Podaj dwie liczby: ";
	cin>>a>>b;

	cout<<"Suma liczb "<<a<<" i "<<b<<" wynosi: "<<suma(a,b)<<endl;

	//w tym przypadku wywołanie funkcji suma jest równoważne z zapisem
	//cout<<"Suma liczb "<<a<<" i "<<b<<" wynosi: "<<a+b<<endl;

	return 0;
}