Ilyenkor a dinamikus memórián jön létre változó, vagy a stacken?
Figyelt kérdés
class test
{
void testfunc();
};
test::testfunc();
{
int x = 10;
}
int main()
{
test* y = new test;
return 0;
}
Az osztály a dinamikus memóriában foglal helyet, ilyenkor a függvényben létrejött int x változó is dinamikus, vagy a stacken van?
Azért lenne ezt fontos tudnom, mert ha egy nagy tömbbel akarok így dolgozni, az feltételezem stack overflowot okozhat.
2017. máj. 26. 19:40
1/5 A kérdező kommentje:
Az elírásokért (pl. test::testfunc() helyett test::testfunc();) elnézést kérek, de nem is ez a lényeg.
2017. máj. 26. 19:41
2/5 A kérdező kommentje:
Természetesen a main-ban feltételezzük, hogy meghívjuk a függvényt, szóval kimaradt az
y->testfunc();
2017. máj. 26. 19:42
3/5 A kérdező kommentje:
akarom írni void test::testfunc()
meh, nem megy ez ma nekem.
2017. máj. 26. 19:44
5/5 anonim válasza:
A heap-en jön létre, ami a dinamikus memória része. De bekerülhet a stack-be is, ami szintén a dinamikus memória része.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!