C# ben ha van nagy méretű struktúra akkor ettől betelhet az egész verem (stack) és ez eredményezhet futásidejű hibát?
namespace Practice
{
internal struct MainClass //class helyet struct használok
{
private static void Main()
{}
}
}
Be telhet a stack?
És mitől telhet be?statikus tagoktól?
függvény hívásoktól?
A main lokális változóitól is betelhet?
Egyszerű: ami elé nem teszel new-t, az mind stack, ami elé teszel, az managed heap
A referenciáktól is betelhet, csak mivel általában 4 bájtosak, ezért baromi sok kell belőlük, de igen, betelhet a call stack, ez nem új
"Egyszerű: ami elé nem teszel new-t, az mind stack"
Ez így megtévesztő lehet (new-val létrehozott osztály member változói nem new-val jönnek létre, mégsem a stacken lesznek). Inkább úgy fogalmaznám, hogy minden, ami egy függvényben változó az a stacken van (ideértve a referenciákat new-val létrehozott ojjektumokra, a paramétereket és a visszatérési értéket).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!