C++ programban mikor érdemes mutató tömböt használni és mikor dinamikus tömböt?
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.)
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
"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.
"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.
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.
É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."
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!