Kezdőoldal » Számítástechnika » Programozás » C++ programban mikor érdemes...

C++ programban mikor érdemes mutató tömböt használni és mikor dinamikus tömböt?

Figyelt kérdés

#programozás #C++ #dinamikus tömb #mutató tömb #pointer tömb #dinamikus helyfoglalású tömb #dinamikus memóriakezelés
2013. okt. 10. 23:36
1 2
 1/11 anonim ***** válasza:
Attól függ h kéri a feladat, na meg hatékonyság szempontjából se mind1. Dinamikussal hatékonyabb de normál tömb-el viszont könnyebb leprogramozni.
2013. okt. 10. 23:53
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

Ha megvan adva egy max elemszám, akkor lehet a hagyományosat használni nyugodtan, ha viszont nem tudunk ilyet, akkor mindenképpen dinamikussal érdemes nekimenni.


(Szvsz én mindenre már dinamikusat használok szinte.)

2013. okt. 11. 00:11
Hasznos számodra ez a válasz?
 3/11 A kérdező kommentje:

Elnézést, azt hiszem félreérthető volt a kérdés. Az alábbiak közötti különbségek érdekelnének:

típus * valtozo[meret]; // mutató tömb


vs.


tipus * változó; //mutató,

valtozo = new tipus[meret]; //dinamikus tömbként használva

2013. okt. 11. 00:50
 4/11 iostream ***** válasza:

"típus * valtozo[meret]; // mutató tömb

vs.

tipus * változó; //mutató,

valtozo = new tipus[meret]; //dinamikus tömbként használva"


Értelmetlen a kérdés. Ez nem érdemesség kérdése, mert teljesen másra szolgál a két dolog.

Az első egy statikus tömb, amiben mutatókat tárolsz, a másik egy pointer amit ráállítasz egy tömbre amiben tipusokat tárolsz. Tehát nem a dinamikusság a fő különbség (dinamikus tömb helyett meg használj vectort), hanem hogy más elemeket tudsz belepakolni.

2013. okt. 11. 10:03
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:
Tulajdonképpen dinamikus karaktertömbre lenne szükségem. Sem a string sem a vector sem egyéb más osztály nem jó, mert GPGPU-nak szeretném átadni OpenCl-ben és egyiket sem veszi be, csak az alap típusokat és az 1 dimenziós tömböket. Szeretnék egy dinamikus adatstruktúrát használni (a szó általános értelmében, tehát nem a struct-ról van szó). A kérdés tehát az, milyen deklarációt alkalmazzak, hogy hatékony legyen a kódom?
2013. okt. 12. 20:49
 6/11 iostream ***** válasza:
Használj vectort. A vector garantálja, hogy az adatai egy folytonos területen helyezkednek el, tehát ha lekéred a 0. elemének a címét akkor az adatterületének az elejére mutatsz.
2013. okt. 12. 23:42
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:
Vector mint osztály nem felel meg. Remélem azért lesz valaki, aki megérti mit szeretnék és tud tanácsot adni.
2013. okt. 13. 11:45
 8/11 iostream ***** válasza:

"Vector mint osztály nem felel meg."


De. Vagy fejtsd ki, hogy miért nem, vagy fogadd el, hogy de, megfelel.


"Remélem azért lesz valaki, aki megérti mit szeretnék és tud tanácsot adni."


Tökre megértettem, és el is magyaráztam, miért értelmetlen a kérdésed. Ha simán dinamikus tömböt akarsz, amiben karakterek vannak, és tudsz valami értelmes indokot adni arra, hogy miért nem jó a vector, akkor simán

char* karakterTomb(new char[eloreKiszamoltMeret]);


És ha törölni is neked kell akkor rakd unique_ptr-be.

2013. okt. 14. 10:46
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

Kifejtettem, csak figyelmesen kellett volna olvasni: "Sem a string sem a vector sem egyéb más osztály nem jó, mert GPGPU-nak szeretném átadni OpenCl-ben és egyiket sem veszi be, csak az alap típusokat és az 1 dimenziós tömböket. "


Köszi a válaszokat, az utolsó azt hiszem még hasznos is lesz.

2013. okt. 15. 00:45
 10/11 iostream ***** válasza:

Én meg leírtam a válaszomat, amiért a vector tökéletesen megfelel a céljaidnak, csak figyelmesen kellene olvasni:


"Használj vectort. A vector garantálja, hogy az adatai egy folytonos területen helyezkednek el, tehát ha lekéred a 0. elemének a címét akkor az adatterületének az elejére mutatsz."

2013. okt. 15. 11:18
Hasznos számodra ez a válasz?
1 2

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!