Kezdőoldal » Számítástechnika » Programozás » C++-ban hogyan határozom meg...

C++-ban hogyan határozom meg egy DINAMIKUS tömb méretét? cout<< (sizeof (a) /sizeof (int) ) ; // ez statikusnál működik de itt nem

Figyelt kérdés
2011. nov. 2. 21:48
 1/3 anonim ***** válasza:

A sizeof egy pszeudo operátor, fordítási időbe dől el a "visszatérési" értéke. Paraméterül típust "lát", változó esetén is típust a változó típusát. sizeof (a)-nál ha a egy változó akkor ezt a fordító sizeof (int[40])-re helyettesíti ha a típusa int[40].

Dinamikus tömbnél a dinamikus memóriaterületre mutató pointer méretét adja meg ami 4 (32 bites 4*8 bites processzoron vagy 32 bites módban)


Futási időbe alapból nem tárolja el a program a dinamikusan lefoglat tömb aktuális méretét. A programozónak kell erről gondoskodni, hogy úgy foglaljon hogy tudja hogy mennyit foglalt. Esetleg template-n keresztül foglal memóriát vagy szabadít fel, olyan template-ben ahol meg van valósítva a lefoglalt memória méretének nyilvántartása.

2011. nov. 3. 10:08
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

"Futási időbe alapból nem tárolja el a program a dinamikusan lefoglat tömb aktuális méretét."


Ez fura, akkor a new-val létrehozott tömböt a delete hogy tudja felszabadítani? Elvileg az mallocis tudta a méretet, hiszen a free-nek pont azt a területet kellett felszabadítania. Ezért volt veszélyes a free-nek más pointert megadni, mint ami az malloc-nál szerepelt.

Vagy rosszul tudom? :)

2011. dec. 20. 13:05
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

De abban egyetértek, hogy nem lehet megtudni. Legjobb ha a létrehozáskor eltároljuk egy változóba.

(13:05 voltam.)

2011. dec. 20. 13:37
Hasznos számodra ez a válasz?

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

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!