Hirdetés
Ú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
-
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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Bomba ár! Lenovo ThinkPad L530 - i5-3G I 8GB I 500GB +16SSD I 15,6" HD+ I Cam I W10 I Garancia!
- BESZÁMÍTÁS! MSI B450 R5 5600X 32GB DDR4 512GB SSD RX 6700XT 12GB Zalman Z1 Plus Cooler Master 750W
- Honor Magic 6 Pro Epic Green Használt, karcmentes garancia 2027. 10. 31-ig
- Thinkpad L13 Yoga i5-10210U 16GB 1000GB 13.3", Touch gyári magyar világítós bill 360 Gar.: 1év
- 15,6" Dell Latitude laptopok: E5550, E5570, 5590, 5500, 5501, 5510, 5520 / SZÁMLA + GARANCIA
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




):





