Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
dabadab #2704 üzenetére
Lehet, hogy igazad van, és akkor hasznos külön felhívni a figyelmet a tfv.-ek constságára. Egyébként kár lenne, ha nem mondanák el, hogy a tfv.-ek első paramétere a this, és a név manglálás után semmiben sem különböznek a free függvényektől. Például nem gondolnának sokan olyat, hogy a tfv. bármilyen módon (pl. függvénypointer?) tárolva van az objektumban, mert ez nem igaz, és egy elég lényeges dolog (pl. az objektum mérete nem függ a tfv.-ek számától). Mellesleg az egész const mechanizmus jobban érthető, ha valaki tisztában van azzal, amit írtam (pl. nem const tfv.csak nem const objektumra hívható meg).
-
jattila48
aktív tag
válasz
dabadab #2702 üzenetére
A constság szerintem benne van a kérdező által írt szignatúrában, mivel ez a tagfüggvények első implicit this pointer paraméterére vonatkozik. Tehát nem const tfv. esetén ez a paraméter (a this pointer) T * const típusú, míg const tfv. esetén const T * típusú (T az osztály típusa), ami természetesen különböző szignatúrát jelent.
-
-
#36268800
törölt tag
válasz
dabadab #2451 üzenetére
Köszönöm szépen.
Még egy kérdésem lenne (és később talán több is
):
mi a különbség az int main() és az int _main(int argc, _TCHAR* argv[]) sorok között? Most bontogatom a szárnyaimat és a könyv, ami alapján alapozok, egyelőre mindig az elsőt használja, a szoftver pedig mindig a másodikat szúrja be automatikusan.
-
Karma
félisten
-
Karma
félisten
válasz
dabadab #1833 üzenetére
A tesó topikban nem olyan rég már többen is írtunk látszatos magyarázatot
A veszélyeket kiemelni viszont jó húzás volt -
sztanozs
veterán
válasz
dabadab #1823 üzenetére
Ja, valószínűleg makróként működött csak a for és valójában elöltesztelő ciklusra fordította le a fordító (nem neked írom, te biztosan tisztában vagy vele
):
for ( int c = 0 ; c < 10 ; c++ )
{
printf("Hello\n");
}
erre:
int c = 0 ;
while ( c < 10 )
{
printf("Hello\n");
c++;
}
Így látszik, hogy miért működik a cikluson kívüli értékadás. -
Davs
tag
válasz
dabadab #1749 üzenetére
Ha 2magos+ht == nagyjabol 4 magos a gepem, akkor nem -j5 -ot kell megadni? szoval j(magok szama+1)?
Amugy Qt-s headereket hogyan lehet mozgatni? Windows Path-ban nem lattam jelet nekik, meg azt se tudom pontosan merre keressem oket
G:\QtSDK-ba lett telepitve a Qt, a headerek a Desktop/qt/../include konyvtarban vannak? Igy elsore talan a lib, bin es include mappakat is jo lenne odadobni, nem?
-
Gyuri16
senior tag
válasz
dabadab #1742 üzenetére
"van linux ala is"
ha ezt tudom fel oraja..atbootoltam windowsba, amit kb felevente hasznalok, es ilyenkor felsir az osszes program, hogy elhanyagolom oket. jo par percig eltart, mire hasznalhato a gep.
ha cygwinnel forditom, akkor az rendesen futtathato lesz mas rendszeren cygwin nelkul?
mindenesetre kozben sikerult dev-c++t ravenni, hogy leforditsa, ez is mingw-t hasznal, ha minden igaz, szoval remelem jo lesz
-
proci985
MODERÁTOR
válasz
dabadab #1721 üzenetére
jaja, néztem is először, hogy ezt így hogy
.
más: nyaralok, szóval találtam egy könnyű esti olvasmányt, Robert C Martin -- Clean Code című művét, ismeri valaki?
igazából ami nekem szöget ütött a fejembe, hogy az egy funkció - egy cél gondolatmenetet az extremitásig viszi, pontosabban nagyon rövid funkciókat ajánl. ami az olvashatóságot javíthatja, viszont sebesség szempontjából nekem eléggé problémásnak tűnik. másik oldalról persze az érthetőség/sebesség/kompaktság hármas korántsem egyértelmű problémakör, amíg elég gyors a program, addig igazából nincs baj.
persze a példákon keresztül (illetve saját tapasztalatok alapján is) indokolt a dolog, csak mégis... amire még gondoltam, hogy a compilerek elvileg eléggé sokat fejlődtek sebesség terén, funkcióhívások még mindig annyira kritikusak sebesség szempontjából, mint mondjuk 10 éve? elsősorban itt most nem olyan helyzetekre gondolok, ahol általában nincs szűk keresztmetszet a rendszerben végrehajtási sebesség szempontjából (tehát pl nem a grafikáért felelős részre egy játéknál).
-
modder
aktív tag
válasz
dabadab #1717 üzenetére
szerencsére már standard C++-ban is van
http://en.wikipedia.org/wiki/C%2B%2B11#Range-based_for-loop -
WonderCSabo
félisten
-
-
Sk8erPeter
nagyúr
válasz
dabadab #1668 üzenetére
"tobbszorosen egymasba agyazott ciklusbol kell kilepni"
Megkerülhető a probléma, ha a ciklust végrehajtó kódot függvénybe rakod, és return-ölsz belőle."tobb helyen is visszaterhet a method, viszont a return elott mindenhol ugyanazt a szertartast el kell vegezni"
Erre miért nem jó egy tök hagyományos függvény/metódus?
Azt is annyiszor hívod meg, ahányszor akarod.... -
proci985
MODERÁTOR
válasz
dabadab #1649 üzenetére
arról nem is beszélve, hogy ember leírja, aztán az IDE azonnal szól is, hogy ez meg ez így nem lesz jó. szóval használat közben tanít. szerintem is remek feature, sokkal jobb, mint órákon át keresgélni, hogy mi a fenéért nem működik a kód rendesen, mert véletlenül a return mögé írt egy sort. kezdőként folyamatosan szívni a szintaxissal eszméletlenül irritáló.
más kérdés, hogy mivel az IDE szól, egy idő után szerintem jobban berögzül, hogy mi nem lesz jó, mivel azonnal van feedback.
-
WonderCSabo
félisten
válasz
dabadab #1649 üzenetére
Azon nincs mit megtanulni, hogy nem irunk elerhetetlen kodreszleteket, ezt mindenki tudja magatol is.
Túl optimista vagy, én nem ezt tapasztalom.
Persze, nyilván tervezési hibákat nem fog észrevenni, hálistennek, különben nem lenne szükség programozókra. Én úgy vagyok vele, hogy jobb ha megtanulja az ember ezeket a bénázásokat is, nem jó arra támaszkodni mindig, hogy majd az IDE úgy is kijavítja, ha hülyeséget írok. Szvsz.
-
Jhonny06
veterán
válasz
dabadab #1646 üzenetére
Én VS-el kezdtem és nem volt overkill, abszolút. Az egyetlen generált vudu az "stdafx.h" precompiled header volt, gyorsan utánanéztem és legközelebb már kikapcsoltam.
Egyébként nem akkora kaland a kezelése, egy kezdőnek pár funkciót kell tudnia, csak sokakat elriaszt a tengernyi lehetőség, amikor először meglátják a kezelőfelületet. De aki programozó akar lenni, abban legyen annyi kitartás, hogy végigklikkelget a dolgokon és rájön, hogy miként működik az IDE.
-
proci985
MODERÁTOR
válasz
dabadab #1646 üzenetére
empty projekt van, nem véletlenül írtam, hogy első két gyak arról szól slideokkal kiegészítve, hogy mire kell kattintani. pont a vuduk miatt
.
refactoring tényleg hiányzik belőle.
WonderCSabo: empty projekt, lehet VSben is teljesen szabvány C++ kódot írni. grafikus felületre egy egyszerű, saját library van használva, szóval az a rész kb annyira nehéz, mint mondjuk javaban a gui. meg mellesleg a tanulók megtanulnak egy external libraryvel dolgozni, illetve kapnak egy képet, hogy miért jó az OO felépítés.
Borlandon pedig meglepődtem, hogy még használják valahol.
Högskolan i Skövde
-
WonderCSabo
félisten
válasz
dabadab #1644 üzenetére
Ja, es olyan IDE-t meg nem lattam, ami erdemi programozoi hibakat javitott volna.
Láttad, hogy én kezdőkről beszéltem. Azért az Eclipse pl. elég okos IDE, pl. szól, ha olyan kódot írsz, amit nem lehet elérni (pl. végtelen ciklus után, vagy return után), a legperverzebb generices elcseszett szintaktikádat is képes kijavítani, exception, null referencia, inicializálás lehagyása után rögtön szól, stb., stb.
Kösz ezt a Qt Creatort, névről ismertem, majd egyszer meglesem.
proci985: Borlandot ki kéne már írtani az oktatásból. A VS-t én semmiképpen nem ajánlanám kezdőknek, egyrészt overkill, másrészt ne kössük már az embereket rögtön az MS-hez és a nem portolható kódgyártáshoz.
Szerk.: Hol tanulsz?
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- BestBuy topik
- Milyen alaplapot vegyek?
- Nintendo Switch 2
- Hálózati / IP kamera
- iPad topik
- Mielőbb díjat rakatnának a görögök az olcsó csomagokra az EU-ban
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Motoros topic
- Karaktere biztos lesz az első Nothing fejhallgatónak
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- További aktív témák...
- TUF F15 FX507ZI4 15.6" FHD IPS i7-12700H RTX 4070 32GB 512GB NVMe gar
- AKCIÓ!! i9 9900 , RX 5700 XT , 32GB DDR4 , 512GB NVME , 2TB HDD
- Inspiron 14 7440 2-in-1 14" FHD+ IPS érintő Core 5 120U 16GB 512GB NVMe magyar vbill ujjolv gar
- Garis ZOTAC GeForce RTX 4070 Ti Trinity 12GB GDDR6X videokártya
- Nokia mobilgyűjtemény - E-series + 2 klasszikus
- BESZÁMÍTÁS! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
- 15,6" Dell Latitude laptopok: E6540, E5550, E5570, 5580, 5590, 5500, 5501, 5510/ SZÁMLA + GARANCIA
- AKCIÓ! AMD Ryzen 9 7950X 16 mag 32 szál processzor garanciával hibátlan működéssel
- Csere-Beszámítás! AMD Ryzen 7 7700X Processzor!
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB 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