Poznaj C++ w$ godziny0087

Poznaj C++ w$ godziny0087



Funkcje 73

27:    int RazyDwa(int zrodło)

28: {

29:    return 2 * zrodlo;

30:    ) v

Podaj liczbę: 20


Zrodlo: 40

Zrodlo: 80 Zrodlo: 160

ANALIZA:


W linii 5 deklarowana jest wewnętrzna funkcja RazyDwa (). Ma ona jeden parametr typu int. Wartość zwracana jest również typu int. Deklaracja wygląda jak zwykły prototyp, jedyna różnica polega na użyciu słowa kluczowego inline.

Taka deklaracja funkcji powoduje, że w każdym miejscu, w którym podasz:

target = RazyDwa(target); wykonywana jest instrukcja: target = 2 * target;

Przed wykonaniem programu, kompilator umieszcza instrukcje funkcji w kodzie. Oszczędza się w ten sposób na liczbie skoków wewnątrz kodu, lecz traci na rozmiarze programu.

Jak działa funkcja - bliższe spojrzenie

Kiedy wywołujesz funkcję, program przechodzi do wykonania instrukcji danej funkcji i przekazuje parametry. Kiedy funkcja się kończy, zwracana jest wartość (ewentualnie void) i program wraca do miejsca, z którego funkcja została wywołana.

Jak to zadanie jest zorganizowane? Skąd program wie, dokąd ma przejść? Gdzie są przechowywane zmienne przekazywane do funkcji? Co się dzieje ze zmiennymi deklarowanymi wewnątrz funkcji? W jaki sposób jest przekazywana wartość zwracane przez funkcję? Skąd program wie, dokąd ma wrócić po wykonaniu funkcji?

Stos

NOWY TERMIN


Kiedy rozpoczynasz program, to kompilator tworzy stos. Stos to specjalny obszar pamięci (struktura danych) służąca do przechowywania danych wymaganych przez wszystkie funkcje w programie. Określenie stos wynika z działania tej struktury, wartość, która została położona na stos jako ostatnia zostanie zdjęta jako pierwsza (ang. Last-in first-out). Widać tu analogię np. ze stosem tac w kuchni, tak jak na rysunku 5.4.

27:    int RazyDwa(int zrodlo)

28: {

29:    return 2 * zrodlo;

30:    }

EFEKT DZIAŁANIA

Podaj liczbę: 20

Zrodlo: 40 Zrodlo: 80 Zrodlo: 160

ANALIZA


W linii 5 deklarowana jest wewnętrzna funkcja RazyDwa (). Ma ona jeden parametr typu int. Wartość zwracana jest również typu int. Deklaracja svygląda jak zwykły prototyp, jedyna różnica polega na użyciu słowa kluczowego inline.

Taka deklaracja funkcji powoduje, że w każdym miejscu, w którym podasz: target = RazyDwa(target);

wykonywana jest instrukcja: target = 2 * target;

Przed wykonaniem programu, kompilator umieszcza instrukcje funkcji w kodzie. Oszczędza się w ten sposób na liczbie skoków wewnątrz kodu, lecz traci na rozmiarze programu.

Jak działa funkcja - bliższe spojrzenie

Kiedy wywołujesz funkcję, program przechodzi do wykonania instrukcji danej funkcji i przekazuje parametry. Kiedy funkcja się kończy, zwracana jest wartość (ewentualnie void) i program wraca do miejsca, z którego funkcja została wywołana.

Jak to zadanie jest zorganizowane? Skąd program wie, dokąd ma przejść? Gdzie są przechowywane zmienne przekazywane do funkcji? Co się dzieje ze zmiennymi deklarowanymi wewnątrz funkcji? W jaki sposób jest przekazywana wartość zwracane przez funkcję? Skąd program wie, dokąd ma wrócić po wykonaniu funkcji?

Stos

NOWY TERMIN


Kiedy rozpoczynasz program, to kompilator tworzy stos. Stos to specjalny obszar pamięci (struktura danych) służąca do przechowywania danych wymaganych przez wszystkie funkcje w programie. Określenie stos wynika z działania tej struktury, wartość, która została położona na stos jako ostatnia zostanie zdjęta jako pierwsza (ang. Last-in first-out). Widać tu analogię np. ze stosem tac w kuchni, tak jak na rysunku 5.4.


Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0099 Proste klasy85 unsigned int Waga; void Miaucz(); Kot.Frisky; Frisky.Wiek =
Poznaj C++ w$ godziny0073 Funkcje 59Rysunek 5.2 Funkcje 59 Prototyp, pod względem typu wartości zwra
Poznaj C++ w$ godziny0075 Funkcje 61Rysunek 5.3 typ zwracanej wartości
Poznaj C++ w$ godziny0077 Funkcje 63EFEKT DZIAŁANIA: Podaj temperaturę w stopniach Fehrenheit-a: 212
Poznaj C++ w$ godziny0079 Funkcje 65Funkcje jako parametry innych funkcji Mimo że można używać funkc
Poznaj C++ w$ godziny0081 Funkcje 67 Program wraca do funkcji main(), do linii 13. Okazuje się, że w
Poznaj C++ w$ godziny0083 Funkcje 69Parametry domyślne Do każdego zadeklarowanego w prototypie i def
Poznaj C++ w$ godziny0085 Funkcje 71Przeciążanie funkcji C++ pozwala na stworzenie więcej niż jednej
Poznaj C++ w$ godziny0089 Funkcje 75 Kiedy wartość jest odkładana na stos, to jest umieszczana w kom
Poznaj C++ w$ godziny0076 62Godzina 5 A oto kilka poprawnych definicji: long Pole(long d, long s){ r
Poznaj C++ w$ godziny0168 Referencje 157 Referencje 157 23; cout « ” 24: cout « " 25: re
26.Funkcja rozdzielcza. 27.Obecna struktura systemu bankowego. 28. Baza monetarna. 29. Rynek
Poznaj C++ w$ godziny0046 30 Godzina 3typedef
Poznaj C++ w$ godziny0048 32 Godzina 3 32 Godzina 3 ANALIZA: W linii 4 deklarowana jest zmienna mala
Poznaj C++ w$ godziny0098 84 Godzina 6 class Kot { unsigned int jegoWiek; unsigned int jegoWaga;&nbs
Poznaj C++ w$ godziny0114 Więcej o klasach 101 32 33 34:    < 35 36 37 38 39 40 41
Poznaj C++ w$ godziny0146 Wskaźniki 135 Wskaźniki 135 ANALIZA: W tym programie deklarujemy dwie zmie
Poznaj C++ w$ godziny0151 140Godzina 9 7:    int zmiennaLokalna = 5; 8:   &

więcej podobnych podstron