Új hozzászólás Aktív témák
-
dabadab
titán
válasz
m.zmrzlina #3943 üzenetére
"1, Miért használ cím szerinti paraméterátadást, ha csak kiiratja a tömböt de nem változtat egyik eleme értékén sem?"
Arra gondolsz, hogy
void printArray(const std::array<int, 5> &n)
?Mert kb. egymilliószor gyorsabb átadni egy pointert, mint létrehozni egy új tömböt, abba átmásolni az adatokat, majd a függvényhívás végén felszabadítani az egészet
Egyébként const-ként adja át, az ott elég jól kifejezi, hogy nem fogja módosítani.
"2. Mire való a függvény paraméterlistájában a tömb előtt a "const"?"
Az azt mondja, hogy nem fogja módosítani, ami a gyakorlatban kb. azt jelenti, hogy csak az objektum const metódusait fogja meghívni és a tagváltozóinak sem fog értéket adni.
"Egy kicsit feljebb a Passing std::array to function résznél azt írja, hogy azért kell mert a fordító így nem készít másolatot a tömbről"
Ez mondjuk így hülyeségnek tűnik, hacsak valamit nagyon félre nem értek, amikor referenciát adsz át, akkor se így, se úgy nem készít belőle másolatot.
Azt esetleg el bírom képzelni, hogy valamelyik fordító a
void printArray(const std::array<int, 5> n)
-ből csendben magátólvoid printArray(const std::array<int, 5> &n)
-t csinál és erre gondolt a költő. -
cattus
addikt
válasz
m.zmrzlina #3943 üzenetére
Ha nagyon nagy méretű objektumokat érték szerint adsz át, akkor a lemásolásuk jelentős késleltetést vonhat maga után (értsd: lassú lesz a program). Emiatt használnak referencia szerinti átadást. Ilyenkor ugye alapesetben a függvény módosíthatná a kapott objektumot, emiatt használnak const-ot, hogy ne legyen rá lehetősége.
Ú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!
- ASUS GeForce GTX 1650 Phoenix OC 4GB GDDR6
- Dell,14"FullHd IPS,core i5 6440HQ(Fizikai 4x3,5Ghz)8-16GB,Vil.bill,256-512GB SSD,Jó akku
- 14" ACER SWIFT 5 (970 gramm!)Érintős 14,1"FullHD IPS,8.gen.core i5,Vil.bill,16GBRAM,512GB SSD
- Xiaomi Redmi Note 11 64Gb Kártyafüggetlen 1Év Garanciával
- Apple iPhone 14 128Gb Kártyafüggetlen, 1Év Garanciával
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
- Azonnali kézbesítés az év bármely pillanatában
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W docking station (3TR87AA)
- Bomba ár! Lenovo ThinkPad X395 - AMD Ryzen PRO 5 I 8GB I 512GB SSD I 13,3" FHD I Cam I W11 I Gari!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest