- Google Pixel topik
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Android alkalmazások - szoftver kibeszélő topik
- Megérkezett a Google Pixel 7 és 7 Pro
- Milyen okostelefont vegyek?
- iPhone topik
- Samsung Galaxy S21 FE 5G - utóirat
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Xiaomi 14T Pro - teljes a család?
-
Mobilarena
Új hozzászólás Aktív témák
-
opr
nagyúr
Ezt ugy szoktak, hogy business logicon belul siman minden std::string, aztan van egy fuggvenyed, ami a konkret -esetunkben "system(valami fajta string)" hivast vegzi. Na, ez a fuggveny van ugy deklaralva, hogy elfogadja a sima std::stringet, aztan van ket lehetoseged:
headerben ott a szignatura, hogy "inline const makeTheSystemCall(std::string&);"
a) a cpp fileban meg fuggvenytorzson belul mittomen #ifdef OS_WIN aztan #ifdef OS_LINUX, stb.
b) a cpp fileban harom kulon konkret fuggveny van #ifdef-be rakva, nyilvan mindig csak az "aktiv", ami eppen van. Tehat van harom kulon fuggveny a harom OS-re. Szerintem ez a megoldas sokkal tisztabb, En igy szoktam. Tipuskonverziok, ha mondjuk a win-esnek valamiert a wchar-os moka kell, akkor itt, fuggvenyen belul tortennek, business logic marad mindenhol sima std::string.Ha visual studiot hasznalsz, akkor minden tamogatott OS kap egy kulon konfiguraciot, amikhez mindhez tartozik egy props file, ahol definialod az OS_VALAMI makrot, meg ha kell, include directory-kat meg stb-ket.
Ez a modszer azert jo, mert karbantartani is konnyu, ha valami platformspecifikus eltorik, az nem a programot tori el, csak a platformot, tesztelni is konnyu es atlathato is. Termeszetesen a platformspecifikus include-ok is ifdef blokkokban vannak. Plusz nagyon szepen elkulonul a buniess logic, ami igy alapbol esszeru kereteken belul platformfuggetlen, meg a platformfuggo rendszerhivasok.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 4070Ti Super GAMER PC termékbeszámítás
- Alkatrészt cserélnél vagy bővítenél? Nálunk van, ami kell! Enterprise alkatrészek ITT
- Xiaomi Redmi A3 64GB Kártyafüggetlen, 1Év Garanciával
- DELL Precision 7540 - Intel Core i9-9980HK, RTX 3000 (nagyon erős GPU-val)
- BESZÁMÍTÁS! Asus Rog Zephyrus G14 notebook - R9 4900HS 16GB RAM 512GB SSD RTX 2060 6GB Max-Q WIN10
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged