[C++] Wskaźniki, tablie i struktury

0

Witam, mam taki oto kod:

struct Book
{
string Title;
string Author;
};

void AddNewBook(Book *booksCollection[], int *booksCount)
{
Book nowaKsiazka;
nowaKsiazka.Title = "jakiś tytuł";
nowaKsiazka.Author = "autor";

booksCollection[*booksCount] = new Book;
*booksCollection[*booksCount] = nowaKsiazka;
}

gdzie booksCount to liczba elementów znajdujących się w tablicy. Kod działa dobrze, jednak nie rozumiem dwóch ostatnich linii.. Dlaczego ostatnią linię poprzedza gwiazdka, a przedostatniej nie? Byłbym wdzięczny za wyjaśnienie mi tego...

0

ja bym to zinterpretował tak: bo w pierwszej linii operator new zwraca adres nowego obiektu, a w drugiej linii nadpisujesz istniejący w zmiennej obiekt, co powoduje przepisanie wartości, ale mogę się mylić:)

0

Mógłby ktoś to potwierdzić? :D

0

W pierwszej linii przypisujesz przypisujesz wskaźnikowi adres pamięci zaalokowanej dla zmiennej typu Book, a w drugiej przypisujesz temu obiektowi(czyli tam gdzie wkazuje wskaźnik) wartość.

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