Hirdetés
- Ezek a OnePlus 12 és 12R európai árai
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Telekom mobilszolgáltatások
- Milyen hagyományos (nem okos-) telefont vegyek?
- iOS alkalmazások
- Két kamerával cserélné az iPhone Air a zakót kapucnis pulcsira
- Mobil flották
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Okosóra és okoskiegészítő topik
Ú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!
- Ubuntu Linux
- Hitelkártyák használata, hitelkártya visszatérítés
- Lexus, Toyota topik
- Mikor pukkad ki a robotlufi?
- EU-s vám vethet véget a nagyi temus vásárlási lázának
- Synology NAS
- Azonnali informatikai kérdések órája
- Kormányok / autós szimulátorok topikja
- Lords Mobile
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- darkFlash ZR12 Darkstorm
- VICC ÁR! Dell Precision 7530 - Xeon E2186M (i9-8950HK++) / 32GB RAM 512GB SSD Quadro P2000
- Eladó Samsung Galaxy S22 8/128GB / 12 hó jótállás
- LG 27UP850K-W - 27" IPS LED - 3840x2160 4K - DisplayHDR 400 - USB Type-C - AMD FreeSync
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


