Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sh4d0w: Kalózkodás. Kalózkodás?
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Meggyi001: Több tucat Eiffel torony??? Igen, gyere, mutatom, hogy hol...
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: KLINTHOLM 3 fiókos fekete, acél, zárható kiegészítő elem
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- GoodSpeed: Kell-e manapság egérpad vagy sem?
Új hozzászólás Aktív témák
-
dobragab
addikt
válasz
ToMmY_hun
#3223
üzenetére
Jó irányba tapogatózol, a template a megoldás. Amit te keresel, az az std::vector. Mindent tud, ami neked valaha kelleni fog dinamikus tömb szintjén. Egyrészt tud automatikusan megnyúlni (push_back), viszont előre is le tudja foglalni a memóriát, és nem kell nyújtózkodnia, ha konstruktorparaméterként adod neki a darabszámot, vagy reserve-ölsz. Természetesen ezután is tud megnyúlni.
Túl jávásan gondolkozol. Egyrészt teljesen felesleges nekik ősosztály, anélkül is lehet különböző típusokat megetetni egy generikus algoritmussal: erre való a template. Másrészt a get helyett C++-ban illik indexelő operátort használni.
std::vector<int> vec(100); // 100 darab helyet lefoglal előre,
// de nem tölti fel, egy darab int sem kerül bele
vec.push_back(1); // belekerült az első elem
for(int i = 0; i < vec.size(); ++i)
std::cout << vec[i];Egy generikus algoritmus lényege a duck typing: minden, ami úszik, és hápog, az kacsa. Másképp: az alábbi algoritmus bármilyen típust tartalmazó vector-ral működni tud, aminek van rendes (std::ostream-et visszaadó) << operátora. Ha te ezt meghívod std::vector<int>-ekre, akkor a fordító fordítási időben legenerálja neked a print<int>-et, mert az int úszik és hápog (van << operátora).
template<typename T>
void print(std::vector<T> const& vec)
{
std::cout << vec(i) << ' ';
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Linux kezdőknek
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Posta, csomagküldés
- Milyen NAS-t vegyek?
- Richard Burns Rally
- Programozás topic
- Folytatja küzdelmét az Intel az NVIDIA (és az AMD) ellen
- Battlefield 6
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Motorola Edge 70 - többért kevesebbet
- További aktív témák...
- Intel Core i9-13900K + ASUS ROG MAXIMUS Z790 HERO + Opcionálisan G.SKILL 32GB CL34 6800 és hűtő
- Iphone SE 2022 64gb Új akku
- Samsung Galaxy S24 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- 3 DB Levovo ThinkPad T450 hibás noti
- LG 55QNED86T3A / QNED / 55" - 139 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Telefon felvásárlás!! Xiaomi Redmi Note 12, Xiaomi Redmi Note 12 Pro, Xiaomi Redmi Note 12 Pro+
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3060Ti / 32GB DDR4 / 512 M.2 SSD
- BESZÁMÍTÁS! Asus X470 R9 5900X 32GB DDR4 1TB SSD RTX 3070 Ti 8GB Zalman Z1 PLUS A-Data 750W
- Gamer PC-Számíógép! Csere-Beszámítás! I7 13700F / RTX 4070Ti Super 16GB OC / 32GB DDR5 / 1TB SSD
- Jo Nesbo: LEOPÁRD (nem olvasott)
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő

