kod funkcji - prośba o pomoc

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.

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.

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

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?

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1