Cześć!
Zastanawia mnie, jaka jest różnica w pamięci między wywołaniem jakiegoś ciągu instrukcji w zewnętrznej funkcji, a po prostu użyciem bezpośrednio podobnego ciągu instrukcji w main()?
Przykład:
Mamy taki kod z użyciem dwóch funkcji (nie licząc main()):
#include <iostream>
using namespace std;
void wypisz(int a)
{
cout << "Podales " << a << endl;
}
int dodaj(int a, int b)
{
return a+b;
}
int main()
{
wypisz(8);
int wynik = dodaj(3,4);
return 0;
}
I mamy kod, w którym nie używamy tych dwóch funkcji:
#include <iostream>
using namespace std;
int main()
{
int a = 8;
cout << "Podales " << a << endl;
int wynik = 3 + 4;
return 0;
}
Czym wydajnościowo różni się pierwszy kod od drugiego (tzn. który program zajmie więcej pamięci)? Co krok po kroku dzieje się w pamięci podczas wywoływania funkcji?
Wydaje mi się, że spotkałem się jakiś czas temu z tym tematem, tylko nie mogę sobie przypomnieć gdzie.