kod funkcji - prośba o pomoc

kod funkcji - prośba o pomoc
CR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 92
0

W kursie internetowym znalazłem taki fragment kodu: funkcja ma dodać 2 do podanej przez użytkownika liczby i zwrócić wynik działania.

Kopiuj
int dodaj (int liczba)
{
    int suma (liczba + 2);
        return suma;
}

Z komentarzy autora wynika, że najpierw rezerwujemy miejsce w pamięci, później zapisujemy wynik w pamięci. Nie rozumiem dlaczego pomiędzy int suma a (liczba+2); nie ma operatora przypisania. Kod z kursu uruchamia się w code:: blocks i embarcadero devc++.
Z góry dziękuję za wszelką pomoc.

AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1493
3

W C++ możesz napisać
int x(3);, int x{3};, int x= 3; i to będzie to samo: stworzenie zmiennej typu int i jej inicjalizacja wartością 3 (myśl o wywołaniu konstruktora). U Ciebie jest inicjalizacja argumentem powiększonym o 2.
Przypisanie to inna operacja, przypisujesz do istniejącej zmiennej, vide

Kopiuj
int x =3; //inicjalizacja
x = 5; //przypisanie

EDIT: ale ogólnie to inicjalizacja intów w ten sposób nie jest jakoś bardzo standardowa.
Ogólnie przy inicjalizacji zmiennych automatycznych typu int i podobnych (fundamental types, powiedzmy) to nie jest najczęściej spotykany sposób.
Co to za kurs jest?

CR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 92
0

@alagner: kurs to http://shebang.pl/kursy/programowanie-cpp/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.