- Milyen asztali (teljes vagy fél-) gépet vegyek?
- HP notebook topic
- Milyen belső merevlemezt vegyek?
- 5.1, 7.1 és gamer fejhallgatók
- Videós, mozgóképes topik
- Milyen billentyűzetet vegyek?
- Androidos tablet topic
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- GeForce RTX 5060: Ezt kapjuk 150 ezerért
- Sony MILC fényképezőgépcsalád
Ú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!
- Call of Duty: Black Ops 6
- Spórolós topik
- Xbox Series X|S
- Újjászületés: szombattól új szerverkörnyezetben a PROHARDVER! lapcsalád
- World of Tanks - MMO
- OTP Bank topic
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- HP notebook topic
- Hyundai, Kia topik
- Milyen belső merevlemezt vegyek?
- További aktív témák...
- Új Asus 16 Vivobook WUXGA IPS Nano Ryzen5 7430U 4.3Ghz 16GB 512GB SSD Radeon RX Vega7 Win11 Garancia
- Macbook Air M1 2020 // 13" // 16/512GB // Számla+Garancia /
- ÚJ Lenovo ThinkPad T16 Gen 4 - 16" WUXGA - Ultra 7 255U - 32GB - 1TB SSD - Win11 - 3 év garancia
- 20.000 - tól RÉSZLETFIZETÉS. BANKMENTES. Új noblechairs EPIC műbőr FEKETE - KÉK . 2 év garancia!
- AKCIÓ! 750W Seasonic PRIME TX-750 Titanium tápegység garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest