Hirdetés
- OLED monitor topic
- Milyen billentyűzetet vegyek?
- Részesedést szerezhet az AMD-ben az OpenAI
- Redmi Pad Pro - jól sikerült
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Jövőre jósolják a memóriahiányt, ami egy évtizedig is fennmaradhat?
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- DUNE médialejátszók topicja
- Házimozi belépő szinten
- Milyen Android TV boxot vegyek?
Ú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!
- Gurulunk, WAZE?!
- Kijelző került a kamerasávra a Xiaomi 17 Pro és 17 Pro Max hátulján
- OLED monitor topic
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen billentyűzetet vegyek?
- Óra topik
- Részesedést szerezhet az AMD-ben az OpenAI
- OpenWRT topic
- Lalikiraly: Kinek milyen setupja van?
- Redmi Pad Pro - jól sikerült
- További aktív témák...
- Új pc házak! Kèszleten!
- 153 - Lenovo LOQ (15IRX9) - Intel Core i5-13450HX, RTX 4060
- Dell Precision 5810 Intel E5-1650 v3 128GB RAM 2x512GBHDD 1x512GB SSD Quadro K4200
- Okosóra felvásárlás!! Samsung Galaxy Watch 6, Samsung Galaxy Watch 7, Samsung Galaxy Watch Ultra
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest