- ricshard444: Fényképező ? Telefon helyett
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- amanoba: Zakuszkarecept Puskás Csabától, a Borkonyha Étterem head séfjétől
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
- M0ng00se: Hardvert áruhitelre?
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Fűzzük össze a szavakat :)
Ú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!
- Tőzsde és gazdaság
- Változó design, tekerhető lünetta: megjött a Galaxy Watch8 és a Classic
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Nintendo Switch 2
- Gyúrósok ide!
- OLED TV topic
- Háztartási gépek
- ricshard444: Fényképező ? Telefon helyett
- Autós topik
- Víz- gáz- és fűtésszerelés
- További aktív témák...
- iPhone SE2 64GB fekete, gyönyörű újszerű állapotban, 3db van, 85% 92% és 100% akkuval
- iPhone SE2 64GB 82% piros, saját dobozzal
- Apple iPhone 13 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 12 128GB, fekete vagy fehér színben, újszerű állapotban
- iPhone 12 128GB, fekete és fehér színben, több db
- ÚJ- Lenovo ThinkVision T24i-10 - 24" monitor - Számla, garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS Z390 i5 9500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA Thermaltake 500W
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- AKCIÓ! MSI Z690 i7 12700K 32GB DDR4 1TB SSD RX 6800 16GB Phanteks P600S Cooler Master 750W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest