Új hozzászólás Aktív témák
-
dabadab
titán
válasz
dobragab #3313 üzenetére
"Amíg nem érti tökéletesen, mi az a tömb, hogy a méretét nem tudja lekérdezni függvényből, hogy mi köze a pointerhez, stb. addig nem szabad neki std::vectort tanítani, mert utána már sosem tanulja meg, mi is az a tömb."
Ez abszolút nem igaz. Én is megtanultam, pedig BASIC tömbökkel kezdtem, amik sokkal több rokonságot mutatnak az std::vectorral, mint a C-s tömbökkel.
Valahol el kell kezdeni a tanulást és nem lehet rögtön kettes számrendszerrel meg mutatókkal kezdeni, mert hiányoznak az alapok ahhoz, hogy meg tudják érteni, hogy mi az. Meg én is előbb használtam virtuális függvényt, minthogy tudtam volna, hogy mi az a vtable, aztán mégis ember lettem
-
dabadab
titán
válasz
ToMmY_hun #3293 üzenetére
"C-vel kezdtem és sokkal könnyebb, mint C++-ban programozni. Alapozni nagyon ideális."
Meg arra is, hogy rossz szokásokat vegyél fel, szoktam azzal baszogatni a kollégákat, hogy amit írnak, az C, nem C++, szóval az így nem lesz jó
Pointereket meg hasonló alacsonyszintű dolgokat szerintem assemblerben sokkal jobban meg lehet tanulni
Az eredeti kérdéshez sajnos érdemben nem tudok hozzászólni, a kézenfekvő válasz a Stroustrup-féle C++ aktuális kiadása lenne, de azt is csak a polcon van meg, valahogy soha nem jutottam el odáig, hogy el is olvassam.
-
dabadab
titán
válasz
jattila48 #3253 üzenetére
"Miért lenne kevés?"
Eleve implementálni kell valami protokollt, a socketek kezelése alapvetően nem thread-safe (meg ha az egyes műveletek azok is), hibák lekezelése, stb. Nézz meg akár egy szimple ftp szervert v klienst, hogy abban mennyi hálózati kód van, pedig csak TCP csomagokat küldenek meg fogadnak
-
dabadab
titán
-
dabadab
titán
válasz
jattila48 #3248 üzenetére
"Nem kell megijedni a TCP socket-ektől, semmilyen külön library nem kell hozzá, simán a BSD (POSIX) socket API-t kell használni, nem bonyolult."
Az API nem bonyolult.
Amíg megcsinálod azt, hogy azt használva legyen egy megbízható, normálisan és jól működő kommunikációs layered, az viszont igen. -
dabadab
titán
válasz
dobragab #3239 üzenetére
"Megírhatták volna a contains-t is, de minek?"
Ergonómia, ahogy mondtam.
Melyik olvashatóbb?if(mmap.count("idk"))
vagy
if(mmap.contains("idk"))
Lefordítva meg mind a kettő ugyanaz, az STL kódolásánál meg dokumentálásánál meg kb. nulla többletmunkát jelentett volna és nagyjából ez lenne a második-harmadik leggyakrabban használt metódus a konténereknél.
-
dabadab
titán
válasz
Boryszka #3091 üzenetére
"Ekkor a feladat az, hogy az (1,2,3,...,18,19,20) számokból (1-től 20-ig mindegyik) töröljünk minél kevesebbet úgy, hogy a megmaradt számok között ne forduljon elő a (2,3,6,8,13) minta és eltoltjai!"
Ne törölj semmit, probléma megoldva.
Következő kérdés?Egyébként ez C vagy C++ házi?
(És hol adnak ilyen rettenetesen rosszul megírt feladatokat?)
-
dabadab
titán
válasz
xavix13 #2799 üzenetére
A tanár gépén nem működik a pont, csak a felkiáltójel és a helyesírásellenörző is elromlott?
(vagy inkább:
)
A feladatkiírásból egyébként nem derül ki, hogy mitől függ, hogy ki nyer - megpróbálok abból a feltevésből kiindulni, hogy az, akinek a dobásainak (ami a feladat elején még lövés volt
) összege a nagyobb.
Elég elszomorító ez a színvonal
Ami elsőre szemet szúr, hogy az egy .... tiz változók tök fölöslegesek meg teljesen feleslegesen duplikát (tízlikelt
) kódhoz vezet, eleve a játékos számait is a jatekos[] tömbbe kellene beolvasni egy ciklusban.
C++ kódból én az ilyen C-s tömböket kiutálnám, tessék container template-eket használni, illetve a magyar változónevek meg kommentek szintén olyanok, amit az ember nem csinál.
-
dabadab
titán
válasz
EQMontoya #2753 üzenetére
Hahó, printf, nincs ott se típusellenőrzés, se cast, adsz neki valamit és majd azt valahogy értelmezi, akkor is, ha annak úgy semmi értelme. Szóval nem hogy csak lefordul, de még csak warning se lesz (hacsak nem olyan nagyon okos a fordító, hogy külön ismeri a printf-et, végigparse-olja a format stringet és megnézi, hogy értelmes adatokat adtál-e meg neki - de nem tudom, hogy ezt tényleg megcsinálja-e bármelyik fordító (Visual Studio biztosan nem))
-
dabadab
titán
válasz
HussarF #2750 üzenetére
"De amit nem értek, hogy valahol mégis csak beolvassa így is a string-be"
Nem a stringbe, hanem egy random tárterületre, ugyanis a printf egy char *-ra számít, ehelyett megkapja a string értékét (nem magát a C-stílusú stringet, ami jelen esetben egyetlen nullla karakterből állna, mert üres, hanem kompletten a belső változók értékeit) és ezt értelmezi pointerként (printf szintén). Szóval valami tök random helyre írsz a memóriában és onnan is olvasol.
-
dabadab
titán
válasz
EQMontoya #2707 üzenetére
"Miert ne tenned?"
Mert a bennem élő egészséges lustaság arra késztet, hogy ne foglalkozzak az implementáció részleteivel, ha nem muszáj. Ha kell, akkor tudom, hogy ott a this is, de általában nem kell tudno, ill. amikor tanítják a C++-t, akkor azért problémás lehet ezt elővezetni, mert ez szinte az első dolog lehet(ne), ugyanakkor a megértéséhez szükséges az, hogy az ember értse, hogy hogyan is működnek a dolgok a CPU-ban, ami gyakran hiányzik a nebulókból.
-
dabadab
titán
válasz
AsterixComic #2701 üzenetére
Maguk a kérdések is elég homályosak ill. konkrétan hibásak.
1. A parancssori paraméter (ahogy az a C++ standardban is van) csak char* típusú lehet (azok vannak az argv-ben). Az lehet, hogy egy karaktertömböt intként értelmezünk, de attól az még karaktertömb. Minden bizonnyal valami olyat akar hallani a tanár, hogy
int param=0;
if ( argc >= 2 )
{
param = atoi(argv[1]);
}2. Konstruktorra/destruktorra akkor van szükség, ha azt szeretné az ember, hogy az objektum létrejöttekor/megszűnésekor automatikusan lefusson valami kód. Az, hogy az a kód konkrétan mit csinál, tulajdonképpen lényegetelen. A dinamikusan foglalt memóriát máshogy is fel lehet szabadítani és egy csomó olyan esetben is szükség van *truktorra, amikor nincs dinamikusan foglalt memória (akár mindenféle lockokat meg nyitott handle-ket lekezelni, akár olyan egyszerű dolgok miatt, mint hogy az ember kiírjon vmi trace-t).
3. ...és a constsága, mert lehet két ugyanolyan nevű, azonos paraméterlistájú metódus, amik csak abban különböznek, hogy az egyik const, a másik meg nem.
-
dabadab
titán
Az NNG-nel (gondolom roluk van szo
) regebben direkt demoscene multu, assemblyt is erto embereket kerestek. Demoscene karriert nem fogsz epiteni masfel honapban, de az realis cel, hogy valami assembler alaptudast felszedjel, ami szimpatikusabba tehet az allasinterjun. Egyebkent C++-nal is segit idonkent az egzotikusabb hibaknal, ha az ember ranez arra, hogy valojaban milyen kodot produkalt a fordito meg ugy altalaban sem rossz dolog, ha az ember beszeli a processzor anyanyelvet
-
dabadab
titán
Na, profilozta valaki?
-
dabadab
titán
válasz
HussarF #2622 üzenetére
"most már csak kb. másfélszer lassabb a függvényekbe szedett kód a spagettinél."
Akkor inline-old a függvényeket. Ahhoz az kell, hogy egy fordítási egységben legyenek, vagyis praktikusan a kis függvények vagy egy c++-ban legyenek azzal, ami meghívja őket (ez esetben inline-ként kell őket deklarálni), vagy benne legyen a függvény törzse is a header file-ban (ilyenkor meg automatikusan inline-olódik).
-
dabadab
titán
válasz
HussarF #2617 üzenetére
"Meg a vector-okat, de azok is pointerként működnek, mint a tömbök, nem? vagy legalábbis nem hiszem, hogy az okozná a problémát"
Pedig de. Az std:vector<> az ugy mukodik, hogy amikor lemasolod, akkor a komplett adatstrukturat lemasolja.
(A QT containere pl. nem igy mukodnek, azok copy-on-write-ot csinalnak, de ez most csak mellekszal.)vagyis neked a kovetkezo kell pl:
void PhotoEffect(double *E1, int *sz_E, const vector<double> &E_tarolo)
-
dabadab
titán
"Ha a fuggveny, amit hivsz, virtualis, akkor igazabol barmi megtortenhet, lenyegeben a leszarmazott osztalyok azonos nevu (virtualis) metodusai mind elerhetoek lesznek a hivo (friend) szamara."
Igen, de csak akkor, ha az adott objektumra base class tipusu pointerrel hivatkozik az ember (mert kulonben latja a fordito, hogy a leszarmazott methodjat kellene hivni)
#include <stdio.h>
class Q
{
protected:
friend class P;
virtual int q()
{
return 9;
}
};
class R : public Q
{
protected:
virtual int q()
{
return 3;
}
};
class P
{
public:
int p()
{
R r;
Q* q=&r;
//return r.q(); // NOT OK
return q->q(); // OK
}
};
int main(void)
{
P p;
printf("%d\r\n",p.p());
} -
dabadab
titán
válasz
kemkriszt98 #2536 üzenetére
"Meg lehet ezt hívni 1 paraméterrel?"
Nem, mert le se fordul, default parametereket csak utolsokent lehet megadni.
-
dabadab
titán
válasz
kemkriszt98 #2402 üzenetére
Hozzalinkelted forditasnal a glutot?
-
dabadab
titán
válasz
bandi0000 #2362 üzenetére
Az ilyen iskolai feladatoknal mindig zavar az, hogy rengeteget vacakolnak viszonylag trivialis beolvasassal/kiolvassal (amit aztan soha nem fog hasznalni senki se ugy a valo vilagban) meg rengeteg az elore meghatarozott konstans meg maximum, meg meg biztos vannak dolgok, amik zavarnak, csak nem tudatosultak bennem.
-
dabadab
titán
válasz
bandi0000 #2360 üzenetére
"az adatok beolvasását hogy tudnám megcsinálni hogy később kezelhessem külön őket?"
Hat ugy, hogy kenyelmes legyen
Csinalhatod azt is, hogy egyszeruen ugy tarolod le az adatokat, ahogy vannak, ugy egy kicsit macerasabb oket kezelni, viszont hatekony, vagy csinalhatsz egy 48x500-as tombot is, ahova egyszeruen beirod, hogy melyik kilometernel ki ul az egyes szekeken.Egyebkent a feladatok szerintem borzasztoak.
-
dabadab
titán
válasz
Dave-11 #2246 üzenetére
Ize, neked nem is az exec() kell, hanem a system(), ami egyszeruen vegrehajt egy parancsot ugy, mintha parancssorbol beirnad. Hogy a Karma altal linkelt leirasbol vegyem a peldat:
int main(void)
{
// kiirod a kiirnivalot a text.txt-be
system("print /d:\\\\pserver\\laser1 c:\\text.txt");
}Persze ez abszolut hordozhatatlan megoldas, de legalabb tenyleg nem bonyolult
-
dabadab
titán
válasz
Dave-11 #2243 üzenetére
"Van valami egyszerű mód arra, hogy elérjük a nyomtatót és ki tudjunk vele nyomtatni tetszőleges dolgokat?"
Nincs. Ha nyomtatni akarsz akarsz, ahhoz valami kiegeszito konyvtarra van szukseged, pl. a QT nyomtatni is tud, de azert egyszerunek nem neveznem.
"Akár úgy is jó, hogy előtte kiírom őket egy txt-be, és aztán adom ki a nyomtatási parancsot."
Ezt mondjuk megcsinalhatod gond nelkul, erre van az exec().
-
dabadab
titán
válasz
beast27 #2022 üzenetére
C# programozás [Olvasd el az #1 hozzászólást!]
Egyebkent a fort arra hasznaljak, hogy utasitasokat tobbszor futtassanak le. Amit te irtal, az tizszer fog lefutni: az elejen beallitja, hogy i erteket 1 legyen (i=1), aztan megnezi, hogy teljesul-e az a feltetel, hogy i ne legyen nagyobb tiznel (i<=10), aztan lefuttatja a ciklusmagot (azokat az utasitasokat, amiket tobbszor kell futtatni, ezt a reszt nem irtad oda) es a vegen megnoveli eggyel i-t (i++).
-
dabadab
titán
válasz
Dave-11 #1830 üzenetére
Az srand() inicializalja a randomgeneratort, ezt csak egyszer kell megcsinalni, praktikusan a program elejen. Ez altalaban nem tul bonyolult kod es elmondhato rola, hogy ha ugyanazzal a szammal inicializalod, akkor utana pontosan ugyanazokat a "veletlen" szamokat fogod kapni, ezert nepszeru megoldas, hogy a jelenlegi idovel inicializaljak, valahogy igy: srand( time() );
A rand() meg ezek utan egyszeruen visszaad egy veletlenszamot (ami a 0 - RAND_MAX intervallumba esik).
Ha intervallumot akarsz (mondjuk X es X+Y koze), akkor az egyszeru, ertheto es naiv megoldas az, hogy a rand altal visszaadott szamnak az Y-nal valo osztasanak a maradekat veszed es hozzaadod X-et. Konkretan a te peldadban (1-50, ahol X = 1 es Y = 49):
int random_number = rand() % 49 + 1;Es akkor most egy kicsit kenytelen vagyok arrol szolni, hogy valojaban miert istentelen nagy szivas ez az egesz veletlenszam-temakor: a fenti peldaban, ha Y nem ketto valamelyik egesz szamu hatvanya (1, 2, 4, 8, 16 stb), akkor a veletlen szamaid eloszlasat megnezve fel fog tunni, hogy nem azonos esellyel kapod a szamokat, hanem lesz egy hatar es az alattiak valamivel nagyobb valoszinuseggel fordulnak elo. A miert megmagyarazasat az olvasora bizom
A masik problema meg a kiszamithatosag: a Firefoxban (illetve akkor meg Mozillanak hivtak) volt egy olyan biztonsagi hiba, hogy a fenti modon inicializalta a randomgeneratort amikor titkositashoz generalt veletlenszamokat. Csakhogy - a fentiek miatt - a tamadonak eleg volt azt kitalalnia, hogy milyen idot mutatott a gep oraja, amikor legeneralta a titkositashoz szukseges szamokat, marpedig ha egy titkositott kapcsolatot 12:54-kor kezd a bongeszo, akkor jo esellyel a gep oraja is 12:54-et fog mutatni, vagy akornyeken valamit - es mivel a time() felbontasa csak masodperces, ezert nem is kellett olyan tul sok szamot vegigprobalni ahhoz, hogy fel lehessen torni a titkositast.
Szoval a veletlenszamgeneralas nehez problema, ahol komolyan erre van szukseg, ott valami plusz hardverrel generaljak, ami valami kellokeppen veletlenszeru fizikai folyamaton alapszik.
szerk: Latom, en irtam a legtobb ideig, de legalabb latszatja is van
-
-
dabadab
titán
"A main függvénynek lehet visszatérési értéke"
A main()-nek kötelezően intet kell visszaadnia, se a void, se más visszaadott típus nem engedélyezett a C++ szabványban.
A main() által visszaadott érték lesz a végrehajtott program exit statusa.Dave-11: a "nem ad vissza semmit" pontosan ezt jelenti. Ha egy void függvénybe returnt írsz, akkor hibát dob a fordító. Mondjuk egy sin() függvénynél, vagy hasonlónál, nincs sok értelme a void-nak, mert ott vissza kell adni valamit, de van egy csomó olyan függvény, ami nem kiszámol valamit, hanem csak pl. egyszerűen kiír egy üzenetet, akármi, ahol nincs semmi, amit vissza lehetne adni, azok lesznek a void függvények.
-
dabadab
titán
Igazabol a -j parameterere olyan nagyon egzakt formula nincs, az altalanos elkepzeles az, hogy legyen tobb, mint a magok szama, hogy ha az egyik IO-ra var, akkor elo lehessen huzni egy masikat, de ne legyen tul sok, mert az mar egy ido utan rontja a teljesitmenyt. A dologba a HT meg pluszba bekavar, szoval ha erdekel a dolog, akkor a legegyszerubb ha csinalsz par rebuildet kulonbozo -j-vel.
A qtcreatorban igy elsore nem latom, hogy honnan veszi a qt patheket, Linux alatt legegyszerubben egy bindes mounttal lehet megoldani a dolgot, valahogy igy:
mount -B /ramdrive/include/qt4/ /usr/include/qt4/Igazabol eleg a headereket atmasolni, igazabol azoknak az atnyalazasa telik idobe, meg ugy is dinamikusan linkel, szoval a /lib eleresi ideje nem oszt, nem szoroz.
-
dabadab
titán
Nezed forditas kozben a CPU terhelest, ha alacsony, akkor az IO lassitja.
Mivel ugyis van 8GB-d, viccbol csinalhatsz egy RAM drive-ot is es kiprobalhatod, hogy hogyan hat a sebessegre, ha ott van a forras meg a QT-s headerek.szerk: meg lehet, hogy nincs bekapcsolva a parallel make, ha qtcreatort hasznalsz, akkor menj a Projects fulre, ott a Build beallitasok, a Make-nel nyomj a Detailsre es a Make argumentshez ird be hogy pl -j4 - enne hatasara egyszerre negy szalon fog futni a forditas.
-
dabadab
titán
válasz
proci985 #1724 üzenetére
Altalanos kodban - foleg desktopra szantban (de igazabol egyre inkabb mobilfronton is igaz) - nincs ertelme igazan a sebessegen meg a memorian gorcsolni, ha az ember nem csinal direkt okorsegeket, akkor nem lesz baj. Ha meg megis valahol feltunoen lassunak bizonyul, akkor meg az ember elokapja a profilert es optimalizalja azt az egy helyet, ami lelassitja.
En hajlamos vagyok maskepp latni a dolgokat, mert munkaidoban mondjuk a viruskereso engine CPU emulatorat pofozom es ha elvaras, hogy minden megtalalt .exe-t futtassa az elso par millio utasitasig, akkor ott tenyleg figyelni kell a sebessegre - ugyanakkor ha nem ilyen kod van, akkor sima C stilusu tomb helyett en is inkabb std::vectort hasznalok es magasrol teszek arra, hogy valamivel tobb processzorido meg memoria kell hozza, a gyakorlatban ezt siman behozza ott, hogy kenyelmesebb a hasznalata meg nincs buffer overflow.
-
dabadab
titán
válasz
Sk8erPeter #1716 üzenetére
"mi a gond vele akkor, ha mégis VS alatt fejlesztesz más környezetre?"
Nekem ugy tunt, hogy a "visual" resze csak MS dolgokat ismer.
"Vagy platformfüggetlenül lefordíthatóvá szeretnéd tenni a kódodat?"
Ez viszonylag problemas, mert nem tud makefile-t exportalni. Ha a VS-ben fejlesztett cuccot szeretned mashol is leforditani, akkor kenytelen vagy kulon, kezzel irni hozza makefile-okat.
Egyebkent meg tovabbra is qtcreator rajongo vagyok, mert annak rengetegsok elonye van, az egyik pl. az, hogy a shortcutok meglehetosen VS-kompatibilisek (es ha mar dolgozoban ugyis azt kell hasznalnom napi nyolc oraban, akkor ne kelljen az otthoni projektekhez valami tok masra atszokni).
-
dabadab
titán
A qtcreator is a .h-kbol meg a tobbibol szedi ossze a szukseges infot, szoval mukodik a kodkiegeszites mindennel (es a QT-t is csak onnan ismeri, szoval ha pl. nem includolod a QHash-t, akkor nem fogja tudni, hogy milyen metodusai vannak).
Egyebkent tudtatok, hogy QT-ben van foreach? Szoval a kovetkzo tok jol mukodik:
QHash<int, QString> stringHash;
.
.
foreach (const QString &s, stringHash)
qDebug() << s; -
dabadab
titán
válasz
Sk8erPeter #1701 üzenetére
En annak idejen kockas papiron szamoltam a biteket, aztan az ertekeket kozvetlenul a memoriaba irtam, szoval tudom, hogy lehet igy is, de ezzel egyutt szerintem marhasag nem hasznalni az IDE-k automatizmusait.
-
dabadab
titán
válasz
WonderCSabo #1691 üzenetére
Nem, dehogy kotozkodok, csak arra akarok ramutatni, hogy a pontos, egyertelmu specifikacio baromi fontos dolog. Fontos a szamitastudomanyi vetulete is (hogy a fenebe csinal az ember egzakt programhelyesseg-bizonyitast olyan specifikaciora, hogy "hogyakkor ize, tudod, erted, na!"?) na meg persze a gyakorlati is, lattam eleg sok erofeszitest meg penzt karba veszni csak azert, mert a ket felnek nem sikerult ugyanazt ertenie a homalyosan megfogalmazott reszekbol.
-
dabadab
titán
válasz
WonderCSabo #1689 üzenetére
"ha van, akkor az elsőt add vissza. Csak nincs értelmesen leírva."
Ez ertelmetlenul sincs leirva (mondjuk az "elso" szinten nem egy egzakt fogalom, a "legkisebb" vagy "az elso, amit megtalal a keresoalgoritmus" mar stimmel
).
-
dabadab
titán
válasz
WonderCSabo #1687 üzenetére
Meg pl. nem hatarozzak meg, hogy mi tortenjen, ha tobb szomszedos elem is van a tombben (foleg, hogy az az eset nem is lehetseges, hogy csak egy elemnek van szomszedja a tombben).
Meg magyarul a methodot nem metodusnak hivjak?
-
dabadab
titán
válasz
Sk8erPeter #1679 üzenetére
A fuggvenyhivasnak sajnos nagyon durva overheadje van (meg a visszateresnek is), szetcsapja a regisztervaltozokat, ha sebessegkritikus a kod, akkor az ember nem erolteti, foleg nem ciklusbelsoben, amirol eredetileg szo volt.
Raadasul - hogy visszaterjek egy kicsit az elejere - egy par soros ciklusbelsobol egy ezerparameteres fuggvenyt csinalni egyreszt latvanyosan rontja a kod olvashatosagat masreszt meg strukturalis szempontbol is valoszinuleg abszolut ellenjavallt dolog, mert az a resz egesz jo esellyel nem olyan, aminek kulon fuggvenyben lenne a helye.
-
dabadab
titán
válasz
Sk8erPeter #1667 üzenetére
Ugyanaz, mint barmi mas mellett: hatekonysag meg atlathatobb kod. Alapjaban veve akkor szokott jol jonni, ha tobbszorosen egymasba agyazott ciklusbol kell kilepni vagy tobb helyen is visszaterhet a method, viszont a return elott mindenhol ugyanazt a szertartast el kell vegezni, ilyenkor egyszerubb azt csak egyszer megirni a method vegen, aztan return helyett odagotozni.
-
dabadab
titán
válasz
proci985 #1663 üzenetére
Most hirtelen elgondolkodtam, hogy a c++ fejlesztoi palyafutasom elmult kb. tiz evben lattam-e ceges kodban dynamic castot. Szerintem nem
Ellenben gotot viszont igen (mondjuk szerintem szegeny goto indokolatlanul sok utalatot kap, egy fel evszazaddal ezelott, amikor Dijkstra megirta, hogy "considered harmful" meg mas programnyelvek voltak, tok maskepp hasznalt gotokkal). -
dabadab
titán
válasz
WonderCSabo #1647 üzenetére
Ezek kezdoknel se erdemi hibak, csak sima benazasok - nem azert kovetik el, mert azt hiszik, hogy ez igy jo, hanem annak ellenere, hogy tudjak, hogy nem jo. Azon nincs mit megtanulni, hogy nem irunk elerhetetlen kodreszleteket, ezt mindenki tudja magatol is.
Ami erdemi hiba, az pl. az, ha rosszul tervezi meg az osztalyait, ha tul sok kopipesztet hasznal a kodban (ahelyett, hogy generalizalna es kirakna egy methodba), ha spagettikodot ir, meg ilyenek. Ezeket viszont eszre se veszi az IDE.
-
dabadab
titán
válasz
proci985 #1645 üzenetére
"nálunk itt a kezdők VS2010el kezdenek"
Mondjuk pont kezdoknek szerintem nem annyira jo, egyreszt az ujonnan generalt projektekbe alapbol rak egy csomo vudut, masreszt meg gyakorlatilag teljesen hianyzik belole mindenfele refactoring tool, marpedig az kezdoknek (is) nagyon jol jon.
-
dabadab
titán
válasz
WonderCSabo #1638 üzenetére
Mondjuk - mint a nevebol latszik - a GUI designer resze qt-re van kitalalva, de amugy sima C++ projekteket is kezel, van mindenre (Linux, Windows, OSX alapbol, meg talan Symbianra is le lehetne forditani
), ingyenes, gyors es nagyon kis light weightnek erzodik - es ezzel egyutt a Visual Assist X-szel tuningolt VS2010-hez kepest sem tunik kevestudasunak, sot, egy csomo dolgot jobban tud (pl autoindent meg a zarojelek, idezojelek automata lezarasa rettenetes nagy kiralysag benne) - persze vannak hianyossaga, de nem tul zavaroak, most igy hirtelen csak az jut eszembe, hogy search'n'replace nem megy selectionre.
Ja, es olyan IDE-t meg nem lattam, ami erdemi programozoi hibakat javitott volna.
Ú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!
- Emotiva BasX A2m + Airmotiv B1 + Norstone Stylum 2 + Ajándék
- Nintendo Switch OLED - Atmosphére - 256 GB - gyönyörű állapot - minden tartozék - ingyen játékok
- Új (bontatlan) 512 Gb OLED Steam Deck eladó
- RTX 2060 6GB DDR6/ garancia/ ingyen foxpost
- EVGA SuperNOVA 850 G2 850W 80+ Gold teljesen moduláris tápegység garanciával
- BESZÁMÍTÁS! LENOVO Ideapad Gaming 3 notebook - i5 11320H 16GB DDR4 256GB+1TB SSD GTX 1650 4GB WIN11
- Lenovo LEGION Pro 5 / Pro 7, Lenovo Yoga Pro gépek (RTX 4060 / 4070 / 4080 / 4090)
- Lenovo ThinkCentre M720s SFF / M920T tower -Számla, garancia, WIN11
- Bomba ár! Dell Latitude E6520 - i5-2GEN I 6GB I 320GB I HDMI I 15,6" HD+ I W10 I Gari!
- A Panasonic Toughbook CF-54 i5-5300u i5-6300u TN, IPS touch Budapest, MPL Foxpost
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest