Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ Alokacia a dealokacia pamati

Caute ucim sa C++ sorry za zaciatocnicke otazky ale rad by som si par veci ujasnil.

V C++ si programator moze zvolit kde alokuje pamat, ci na stacku alebo na halde. takze prva otazka:

1. kedy zvolit stack a kedy heap?
2. Dalsia vec chcem si ujasnit aky je rozdiel medzi tymito 3omi instanciaciami objektov?

auto objekt1 = Trieda();
objekt1.Metoda();
 
auto objekt2 = new Trieda();
objekt2->Metoda();
 
auto objekt3 = &Trieda();
objekt3->Metoda();
Prvy vytvara objekt na stacku. Druhy na halde a treti tiez na halde? Takze druhy a treti zapis je eqvivalentny?

3. kedy uvolnovat pamat? Ako zabranit tomu aby nastali memory leaky. Odkedy sa ucim C++ tak som zatial na ziadny problem nenarazil a to vobec nevolam delete. Takze aj v C++ sa uvolnuje pamat automaticky? Kedysi som programoval v Delphi a tam sa kazdy objekt musel uvolnit rucne procedurou Free() inak spadla cela aplikacia, take nieco sa mi v C++ este nestalo, preco?

4. kedy pouzit shared_pointery

5. aku knihu o C++ mi viete doporucit? Idealne aby bola podrobna, aktualna (C++11).

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny