Diskuze: Pochopení struktur
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 6 zpráv z 6.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, hlavní rozdíl je v jaké paměti tu proměnnou inicializuješ. Pomocí new vytvoříš proměnnou na haldě, zatím co ten druhý příklad ji vytvoří na stacku. Dále je rozdíl v mazání přidělené paměti. Když vytvoříš instancí struktury na haldě, tak ji musíš opět příkazem delete smazat, jinak budou vznikat memory leaky. Proměnná inicializována na stacku se "automaticky" smaže na konci scope, ve kterém byla vytvořena.
Řeč je o .NET a ne o C++, žádné delete řešit nemusíš.
Ještě bych dodal, že z hlediska funkce v tomto případě není rozdíl.
Děkuji za odpovědi. Na haldě rozumíme jako na RAM a na stacku asi jako zásobníku? Jaká paměť je teda zásobník?
To jsou věci v C++, to v C# řešit nemusíš. Ony jsou obě paměti v RAM, jen se s nimi zachází rozdílně. Jinak rozdíl mezi inicializací konstruktoru bez parametrů a klasickou inicializací žádný rozdíl není.
Zobrazeno 6 zpráv z 6.