Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Nem magok száma+1, itt pl. ezt írja:
"It is best to give a number to the -j option that corresponds to twice the number of processors in the system. So, for a machine with 2 processors present, use:
$
make -j4and for a machine with four processors, use:
$
make -j8
"Mondjuk feltételezem, itt processzormagokra gondol, nem fizikailag is különálló procikra, bár ez a szövegben szerintem nem sikerült túl egzaktra...
Aztán persze az is kérdés, hogy ez az "aranyszabály" mennyire állja meg a helyét.[ Szerkesztve ]
Sk8erPeter
-
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.
DRM is theft
-
doc
nagyúr
-
Davs
tag
egyelore Win7 alatt a bepitett MKLINK parancs segitsegevel hoztam letre symlinkeket, pl az egesz qtcreatort benyomtam igy ramdiskbe (kb100MB), ~10+ helyett 3sec alatt indul el gyorsan meg fogom ezt szeretni, aminek ugyis SSD lesz a vege
Amugy bedobtam a headereket is oda (include konyvtar) es maradt a compile ido, szoval tenyleg a proci dolgozik annyit, nem a HDD a szuk keresztmetszet..Koszonom a segitseget! -
Davs
tag
Apropo nincs olyan lehetoseg Qt creatorban/azon kivul, hogy mindegyik *.cpp at lenne nezve a projectben es rendberakna az includeokat? (java-eclipseben azt hiszem volt hasonlo)
Pl. ha includeolom az egesz QtGui-t, de csak a QDialogot hasznalom belole, akkor irja at automatikusan, vagy torolje a nem hasznalt includeokat? Ugy faszan lehetne csokkenteni az includolas-t..Igy ahogy jobban belegondolok amugy Java-eclipse-ben tuti, hogy van.. -
WonderCSabo
félisten
Először azt akartam írni, hogy az Eclipse ilyet nem tud, de télleg. Írok egy ilyen kódot:
package main;
import java.util.*;
public class Main {
public static void main(String[] args) {
System.out.println(Arrays.toString(new int[] {1, 2, 3}));
System.out.println(new Date(System.currentTimeMillis()));
}
}És az Organize imports parancsra átalakítja erre:
import java.util.Arrays;
import java.util.Date;Tuti.
-
Vico87
tag
Én nem ismerek olyan IDE-t, ami C++ esetén is tudja ezt (bár tény, hogy nem használtam sokfélét ). Java és C# esetben sok dolog lényegesen egyszerűbb, ezért is "okosabbak" az IDE-k ezekhez a nyelvekhez (pl. C#-nál olyat is tud a VS, hogy kitalálja mit kell "include-olni" amikor eddig nem definiált típust használsz).
-
n00n
őstag
Igaz, hogy most pythonban programozok. De mivel GTK-ról van szó, így ide is belefér szerintem.
Van egy ComboBox-om, szeretnék írni egy függvényt, ami csak akkor fut le, ha az az éppen aktív ablak, amin ez a ComboBox van. Ötlet?
-
peterszky
őstag
Van egy Qt programom, amiben van némi adatbázisos dolog is. Terminálból futtatva minden ok, viszont amikor a futtatható állományt a filekezelőből indítanám egér duplaklikkel, akkor nem tud kapcsolódni az adatbázishoz (Ubuntu 11.10). Ilyenkor mi a gond? Elsőre talán környezeti változókra tippelnék, de azokat külön kell ebben az esetben is beállítani? Ha igen, akkor hol (vagy megyek a Linux topicba ).
What else you gonna do on a Saturday?
-
peterszky
őstag
válasz Sk8erPeter #1762 üzenetére
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
dbDialog* form = new dbDialog();
form->show();
return app.exec();
}A dbDialog konstruktorban pedig úgy kezdődik, hogy csatlakozna az Oracle db-hez, ha nem megy, akkor hibaüzenet.
db = QSqlDatabase::addDatabase("QOCI");
db.setHostName("localhost");
db.setDatabaseName("XE");
db.setUserName("user");
db.setPassword("pass");
if (db.open())
{
//
} else {
QMessageBox msgBox;
msgBox.setText(QString::fromUtf8("Nincs kapcsolat."));
msgBox.exec();
}What else you gonna do on a Saturday?
-
Davs
tag
Am Qt-ben a kulonbozo DB-khez valo csatlakozasban csak az addDatabase-nel van kulonbseg?
-
nepszter1
addikt
van egy eladó ilyen könyvem [link] mind2 kötet egyszer volt kb kinyitva szép állapotban ha érdekel írj .
-
n00n
őstag
Miképpen oldanátok meg ezt a feladatot?
Van n darab emberünk, egy fájlból olvassuk be a nevüket, akik köszönnek egymásnak. Írjon egy programot, ami az alábbihoz hasonló kimenetet generál:
Béla köszönt Tamás nevű ismerősének
Eszter köszönt Béla nevű ismerősének
Béla köszönt Eszter nevű ismerősének
Tamás köszönt Eszter nevű ismerősének
Eszter köszönt Tamás nevű ismerősének
Tamás köszönt Béla nevű ismerőségnekA fájlbeolvasást nem kell megírnia. Tegyük fel, hogy az már csak kész van. Viszont úgy írja meg a programot, hogy a beolvasott adatok változhatnak (egyszer csak két ember, egyszer 10). Mindenki köszönjön mindenkinek, viszont véletlenszerűen.
Adjatok kérlek tanácsot merre álljak neki.
-
kispx
addikt
Beolvasod egy vectorba az összes lehetséges köszönést. Majd csinálj egy ugyanolyan méretű vector/tömböt bool típusú elemekkel. Kezdetben mindegyik elemének az értéke false. Ennek a tömbnek az x-edik eleme fogja jelezi, hogy a vector x-edik elemét kiírtuk vagy sem.
Egy ciklusban generálj véletlen számokat és írasd ki a a vectornak a megfelelő elemét (ha a tömb ugyanazon sorszámú elemének az értéke true, akkor nem kell kiírni), majd a tömb megfelelő elemének true értéket adj.
[ Szerkesztve ]
-
n00n
őstag
Az eleje még érthető. De a második felével problémám van.
Tegyük fel van 6 lehetséges köszönés, szóval kettő 6 elemű vector.
Véletlen számokat generálok 0 és 5 között? De ebbe mi a garancia, hogy nem generálom a hármast 20x egymás után. Kis elem számnál valószínű előbb utóbb végzek. De pl 100 lehetőségnél gondolom már lassú lesz. Nem?
-
kispx
addikt
Ezért kell a másik tömb, ahol megjegyzed, hogy melyiket írtad ki.
Ja bocs, félreolvastam:
egyenletes elosztású véletlen-számot generálsz, azaz kevés az esély, hogy 6X ugyanazt kapod.De jutott eszembe egy egyszerú és gyorsabb megoldás: Ha már ott a lista, akkor csak megkell keverni.
[ Szerkesztve ]
-
Davs
tag
...ha jol fogtam fel a feladatot..a name vectorba elvileg rakhatsz annyi elemet, amennyit akarsz, bar en igy hirtelen csak 4 es 5ttel probaltam
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<string> name ;
void sayhi(int id) ;
int main()
{
name.push_back("A");
name.push_back("B");
name.push_back("C");
name.push_back("D");
name.push_back("E");
sayhi(0) ;
return 0;
}
void sayhi(int id){
if(id==name.size()) return ;
for(int i=id+1;i<name.size();i++){
cout << name.at(id) << "\t" << name.at(i) << endl ;
}
sayhi(id+1) ;
} -
-
addikt
Sziasztok,
Most kezdenek el ismerkedni a C++-al, meg kovetkezo szemeszterben ugyis ez lesz suliban, igy nem art egy kis elotanulmany.
En inkabb a "read the code, write the code" felfogas hive vagyok, ha konkretan hasznalni kell valamit amit nem ismerek, akkor egyszerubb olyankor utana nezni, valoszinuleg jobban megmarad mintha elolvasnak 500 oldalt s csak utana alnek neki valami eletszeru peldanak.
Emiatt arra gondoltam, hogy csinalok egy olyan kis progit, ami most ugyis jol jonne meloba.
Issuek kezelesere kellene, naponta jon x darab ugy, azokhoz szuletik y bejegyzes, kulonbozo emberektol, statuszokat kell kezelni, keresni benne visszamenoleg is stb s mindezt egy mssql adatbazisban tarolna le.A kerdesem az, hogy az adatok kezeleset hogyan erdemes megoldani?
A progi kb. ugy mukodne, hogy alapbol az adott napon beerkezett issuek alap adatait mutatna, valami listview szeru nezetben s valamelyikre rakattintva lejonnenek a reszletek, az osszes bejegyzessel.
Szerintetek az az egyszerubb ha mindig mindent kulon lekerdezgetek db-bol vagy a szuresi felteteleknek(ami alapbol csak egy adott napra szures lenne) megfelelo minden infot lekerdezek egyszerre aztan letarolom memoriaban valamilyen adatstrukturaban(fa stb.)?
S ha a masodik akkor mit erdemes hasznalni erre? -
Vico87
tag
Én ennek speciel C# + Entity Framework alapokon állnék neki, mert gyorsabban megoldható vele, mint C++ nyelven. Ezzel csak azt akarom mondani, hogy nem biztos, hogy ezen a példán keresztül akarod megtanulni a C++ nyelvet.
A kétféle megoldást illetően (ha jól értem a két esetet) a második a jobb. Az adatbázis-kezelők nem szeretik a sok rövid kérést, mert fajlagosan jóval több overheaddel jár. Tárolni kliens oldalon elég sima listában, ha nem milliós nagyságrendű elemszámról van szó.
Hülye kérdés, de miért nem egy kész megoldást használtok erre a feladatra? Azok érettebb és fejlettebb rendszerek, mint amit első próbálkozásra egy ember egyedül összerak egy még általa nem ismert programozási környezetben.
-
addikt
C#+Entity Frameworkkel kapcsolatban epp eleg szivast hallok mostanaban cegen belul.
Semmi komolyra ne gondolj, ezek csak ilyen "legyen lejegyezve" adatok lennenek, semmi extrara nem kell, most excelbe van vezetve, csak az meg neha muvel erdekessegeket.
Kesz megoldasba meg nehezebb belenyulni ha epp valami nem tetszik, mas celbol hasznalunk egy issue tracking rendszert, de akadnak vele gondok s mivel kesz alkalmazas igy az egyuttelesen kivul nem nagyon tudunk mit csinalni a hibakkal.
Szoval nem lett kiadva, hogy nekem most ezt meg kell csinalni, csak mondom ha mar mokolok valamivel, akkor akar haszna is legyen s mivel nem egy bonyolult dolog azert gondoltam, hogy jo lenne kezdesnek.Na majd meglatom, most egyelore elkezdtem olvasni a Stroustrup fele C++ konyv magyar valtozatat, de eleg erdekesen vannak megfogalmazva a mondatok, valahogy marha nehezen ertheto, de nem a szakmai resz(legelejen jarok meg csak), hanem tenylegesen a fogalmazasi stilus miatt.
-
ha kattintgatós GUI kell, arra ne C++al kezdjél, a GUI rész c++al mérföldekkel nehezebb, mint bármi mással. ez a feladat leírás alapján php+csssel egész egyszerű, C++al lehetnek buktatók.
adatbázishoz használj külső libraryt. guihez is muszáj lesz.
Stroustruptól melyiket olvasod, a principles and paradigmst vagy a the c++ languaget? utóbbi nem kezdőknek való és abból nem fogsz megtanulni c++ programozni. az első egy fokkal jobb, tapasztalt programozóként mennie kell. ja igen: használd az angol könyvet, a magyar fordítások (a műszaki könyvkiadósok is) használhatatlanok.
tipp: elsőre csináld meg csak az adatbázist logikai részét, tehát se gui, se mysql (ha kell később külső libraryk formájában csatolhatod).
ha publikus pl postolj ide egy class diagramot, funkciókkal és változókkal, hogy hogy gondolod a felépítést, aztán utánna lehet kódolni és ha kész, akkor mehetsz tovább a gui és a dbs integrálás felé.
Don't dream it, be it. // Lagom amount.
-
addikt
válasz proci985 #1775 üzenetére
A GUI-t QT-val gondoltam megoldani.
A the c++ language-t, tudtommal abbol van csak magyar, olvastam, hogy nem azt ajanljatok itt a forumon, de a masiktol meg tartok, annyira nem stabil az angolom, hogy egy 1300 oldalas konyvnek nyugodt szivvel nekialljak.
Amugy fura, hogy a masik nem kezdoknek valo, mert ameddig jutottam minden ertheto meg a legaprobb dolgokhoz is fuz magyarazatot, csak szoveg stilusa fura kicsit.
Komolyabb tervezesbe nem kezdtem, meg csak jatszottam az otlettel, meg gondoltam azert beleolvasok egy konyvbe eloszor. -
oké, de igazából ha szépen megtervezed, akkor GUIt később tudod csatolni.
annyira nem veszélyes a másik nyelvezete sem.
igazából amiatt nem ajánlott kezdőknek, mert kegyetlenül csapongó: néhol nagyon szájbarágós, máshol pedig kell némi háttér HW architektúrában, hogy az ember megértse, miről van szó. utóbbi Neked valszeg ismerős, de mondjuk egy gimnazistának sok lenne, ahogy elmondja, hogy a pointer/referencia miért úgy lett megoldva, ahogy.
fura stílus tükörfordítás miatt is lehet.
olvasás egyébként jó, ha tapasztalt vagy, akkor lehet így fog menni a leggyorsabban.
Don't dream it, be it. // Lagom amount.
-
addikt
válasz proci985 #1777 üzenetére
A tapasztalttol tavol allok.
Most jarok suliba melo mellett, ott vettuk a C-t, meg Java-t eddig, amennyit ott elmondtak, meg kellett, annyira vagyok veluk tisztaban, pythont hasznaltam valamennyit, szinten melohoz irtam benne egy kis progit, meg meloban hasznaltam a legtobbet, egy, a ceg altal fejlesztett OOP nyelvet, mobil platformokhoz, meg regebben script nyelveket hasznaltam kicsit(lua, perl, bash), de azok azert mas tesztak.Ha valami nem tiszta max utana olvasok mas forrasbol, meg egy munkatarssal egyutt terveztuk a fejlodest, mondjuk O mar tul van az emliett konyv 1/3-an, szoval segiteni is tud ha nem ertek valamit.
A tervezes a dolog legnehezebb resze altalaban, van valami konkret progi amit erdemes hasznalni vagy barmilyen UML cucc megteszi?
Ezt a reszet elegge melloztem eddig, de ra kellene szokni... -
mobil platform symbian/oo C/android, vagy más volt? tehát akkor valamennyi OO/scipt tapasztalatod van.
na, akkor van segítség, remek.
tervezéshez gyakorlatilag bármelyik UML megteszi, elsőre érdemes elsőre csak a kapcsolatokat végiggondolni, aztán interfacet tervezni, aztán jöhetnek a belső függvények. ha igazán ügyesek akartok lenni, akkor minden class kaphat egy saját testclasst is, minden függvény pedig egy saját tesztfüggvényt, úgy gyorsabban kijön, ha valami nem azt az eredményt adja, amit kell (assert gyorsabb, standard outtal viszont láttok eredményt is). ha meg kész vagytok a könyvvel, a Gamma féle Design Patterns (vagy a wiki) ajánlott, legalább a facade/abstract factory/decorator/insulated concrete class/connector/singleton ajánlott átnézésre. m-n kapcsolat biztos lesz az adatbázisban, az pedig legegyszerűbben talán egy connector (esetleg singletonként) segítségével megoldható. legalábbis anno nekem nem volt jobb ötletem a circular dependency elkerülésére.
programnak az MS féle Visio jó, de én a Dia nevűt jobban szeretem, kevesebb megkötés és nekem picit jobban kézreáll.
[ Szerkesztve ]
Don't dream it, be it. // Lagom amount.
-
addikt
válasz proci985 #1779 üzenetére
Android/iOS/WM platformokra lehetett elsosorban hasznalni, de mondom, sajat fejlesztese a cegnek(marmint a programozasi nyelv), olyasmi elgondolas mint a Java, virtualis gep futtatja ugyanazt a kodot tobb platformon, csak azert nem mondok konkretumot mert nem akarok reklamot, meg van hova fejlodnie meg a cuccnak.
Szoval igen, van egy kis OO tapasztalat.A tanacsokat, infokat pedig koszonom, igyekszunk megfogadni.
-
-
Sk8erPeter
nagyúr
"C#+Entity Frameworkkel kapcsolatban epp eleg szivast hallok mostanaban cegen belul."
Valami konkrétumot is tudsz mondani?Egyébként ha nem ismered a C++-t, és cégnek kellene egy kattintgatható felület, esetleg adatbázis-kapcsolódás, és hasonlók, akkor miért nem fogadod meg a többiek tanácsát, hogy ne ragaszkodj feltétlenül a C++-hoz, és válassz inkább valami magasabb szintű nyelvet, főleg, ha van már pl. Java-ismereted? Java-alapokon is össze lehet hozni GUI-t, szerintem ez is könnyebb, mint a QT erőltetése. Van némi OOP-tapasztalatod, tehát a C# tanulása is indokolt lehet.
Nem azt mondom, hogy ne tanuld meg a C++-t, mert hasznos lehet még, de szerintem nem épp ezen a projekten kellene szívatnod magadat vele, amikor itt nem kifejezetten teljesítménykritikus alkalmazásról beszélünk, és a magasabb szintű nyelvekhez nagyon nagy eszköztár áll rendelkezésre ahhoz, hogy a fejlesztési idődet jelentősen redukálja.Persze ha a cég fizeti a betanulásodat, és nem fontos nekik, hogy viszonylag normális időn belül elkészüljön az alkalmazás, akkor nem szóltam.
Sk8erPeter
-
addikt
válasz Sk8erPeter #1783 üzenetére
A ceg nem fizet semmit, meg azt se amit kellene.
Sajat magam fejlesztese celjabol gondoltam ra, meg mivel ugyis kelleni fog kovetkezo szemeszterben, csak ugye ha van valami haszna is a proginak, amit csinal az ember, nem csak olyan gyakorlasbol rakjuk ossze aztan megy a kukaba tipusu, akkor erdemesebb annak nekiallni.
Azonban ha azt mondjatok, hogy ezzel ne szivassam magam, akkor inkabb nem csinalom meg sehogy egyelore, ha most a C++-nak alltam neki, akkor nem akarom Java-val, meg C#-al keverni, ha kell a cegnek majd megcsinalja valaki mas.
C#-al amugy se szimpatizalok, egyreszt microsoft(ezert tuti kovezes lesz ), masreszt kb. minden egyetemrol kieso emberke ezt hasznalja, mert ez az egyik "legegyszerubb".Alternativakent az ilyen online challenging oldalak(projecteuler, spoj) feladatai kozti szemezgetesen gondolkoztam meg, ott altalaban szamit a teljesitmeny a futasi idokorlatok miatt, csak azok meg nem feltetlen kezdo emberkeknek valok.
Entity Frameworkkel kapcsolatban amugy olyanok voltak, hogy foreign key lekerdezesnel egymasra hivatkozo tablaknal elhasalt, egy masik alkalmazasban, aminel sok bejovo kapcsolat lehet egyszerre, az optimalizalatlanul osszerakott query-k miatt nagyon belassult az egesz folyamat, meg leterhelte az sql szervert, sok command timeout volt emiatt stb.
-
Sk8erPeter
nagyúr
Hm, hát az Entity Frameworkös para végül is előfordulhat, de lehet, hogy ha tárolt eljárást használtak volna, és azt hívták volna meg, akkor nem lett volna kiszámíthatatlan a query-k összepakolása, de nem akarok okoskodni, mert nem ismerem a problémát, meg azért nem vagyok guru az Entity Frameworkben, csak használtam egy darabig, és amennyire megismertem, bejövős volt. A foreign key-s problémát meg ennyiből nem értem, mert nekem ilyen gondom nem volt, persze biztos csak nem találkoztam még elég problémával. De ez úgyis OFF.
Saját magad fejlesztése céljából oké, de én akkor sem ilyen jellegű feladattal kezdeném a C++ gyakorlását, de ízlések és pofonok különböznek.
A Microsoft-fika meg lejárt lemez. Attól még, mert a C# a Microsofthoz kötődik, tény, hogy nagyon jó nyelv, és iszonyatosan lerövidítheti a fejlesztési munkát a hozzá tartozó számtalan eszköz. Lehet, hogy vérpistikék is használják, de nem csak hülyegyerekek tolják a C#-ot, azt azért elhiheted, nagyon nagy munka áll mögötte, igényes projekteket lehet összehozni C#-ban.
A C++szal kapcsolatos ambícióidat ne dobd a kukába. Gondolom egyetemen keresztül van lehetőséged infós könyveket kivenni könyvtárból, szóval pl. ezt is kivehetnéd (Benedek Zoltán - Levendovszky Tihamér: Szoftverfejlesztés C++ nyelven), szerintem ez elég egyszerűen magyaráz, meg nem beszél mellé, nem csapong, és érthető a stílusa.
[ Szerkesztve ]
Sk8erPeter
-
addikt
válasz Sk8erPeter #1785 üzenetére
Ha taroltat hivnak meg azzal mit ernenek el, akkor ugyanugy meg kell irni moge az sql-t, mintha kihagynak az entity framework, ennek a megoldasnak az elonye valahogy nem jott at.
Nem hasznaltam meg C#-ot, teny, szoval nem tudom milyen, csak az eddigi microsoft tapasztalatok beszeltek belolem, neked legyen igazad s csalodjak kellemeset benne, majd egyszer.
A C++szal kapcsolatos ambícióidat ne dobd a kukába.
Itt lehet valamit felreerthetoen fogalmaztam, mert semmi ilyenre nem gondoltam, epp azt mondtam, hogy ha most ezt kezdtem el, akkor nem akarok csapongani mas nyelvek iranyaba, hanem atragom magam rajta, mivel igyis-ugyis kelleni fog.Off kerdes, szerintetek egy nyelve erdemes specializalodni s azt vagni minel jobban vagy tobb nyelvet ismerni feluletesen?
Olyan szempontbol nezve, hogy melyik modszerrel lehet hamarabb melot talalni, melyikkel lehet biztosabb labbal allni a munkaero piacon s melyikkel lehet jobban keresni?
En a szaktudasra tippelnek, mivel jo szakemberbol keves van, feluletes tudassal viszont sokan rendelkeznek. -
"beszél egy (OO) nyelvet, beszéli az öszeset", kaptam anno a választ több helyen egy hasonló kérdésre... túlozva, de erről van szó. ha tudsz Javat, akkor C, C++, PHP, C# is gyorsan megy, és kb ez minden irányba igaz iteratív OO nyelvek között. meg pascal és basic, de előbbit mostanában már nem nagyon láttam sehol.
ha a fizu a lényeg, akkor menj rá C++ra és banki tranzakciókra, aztán irány london city, tényleg remek C++ programozó kevés van, de az nem egy egyszerű nyelv, főleg nem magas szinten. alternatívaként ha jó vagy scriptben akkor menj rá ciscokra és irány norvégia sysadminnek. mindkettőhöz kell a folyékony angol (minimum CAE szint, de inkább fölötte), de ha tényleg el akarsz mélyülni egy nyelvben, akkor az angol amúgy is megkerülhetetlen.
trendek vátoznak, de aki valamiben tud jól programozni, az egyszerűen tanul másik nyelvet. pont, mint az élő nyelveknél.
[ Szerkesztve ]
Don't dream it, be it. // Lagom amount.
-
addikt
válasz proci985 #1787 üzenetére
Erre a valaszra szamitottam, hasonlot olvastam mar tobb helyen.
Meg ha jol ertesz egy nyelvhez akkor konnyebben talalsz munkat, ha meg valtoznanak a trendek akkor bejon az "aki valamiben tud jól programozni, az egyszerűen tanul másik nyelvet" mondas, szoval vesztenivalom semmikepp nem lesz ha megprobalok elmelyedni a C++-ban.C/C++-al valo ismerkedeskor en is ilyesmi melora gondoltam, valami olyan helyre ahol fontos a biztonsag es a jol optimalizalt program, esetleg beagyazott rendszerek programozasara hosszu tavon.
Angolra meg tudom, hogy ra kell fekudni, mondjuk szerencsere mostanaban meloban egyre tobbet kell angolul levelezni, meg beszelni, szoval ra vagyok kenyszeritve.Amit meg kerdezni akartam, a naming conventions tema.
Talaltam ezt a guideline-t, de pl. a 29.-es pont, "hungarian notations"( ezt most hallottam eloszor) kicsit fura, ertem, hogy kesobb problemas lehet ha valamit valtoztatni kell, meg figyelni kell ra nagyon, de utolag sokkal atlathatobbnak tunik, egyeb esetben lehet mindig a header fajlt nezegetni.
Ezt a guide ervenyes valoban?
Meg tobb kodban is lattam prefix-kent az alahuzast, valtozo/fuggveny neveknel, itt ugye csak a private valtozoknal emliti suffix-kent.
Prefix-kent valo hasznalatanak szokott lenni valami altalanos jelentese? -
gyakorlatban: minden php előképzettség nélkül a harmadik nap már haxoltunk egy weboldalat. java/c++/c tudás volt, minden mást arra alapoztunk. az idő nagyrésze google volt, avagy melyik az a funkció phpben, ami ezt meg ezt tudja. nem lett szép a kód, de alapvetően spagettikódon kellett ügyködni... és nem tolhattunk teljes refactort.
c++ elmélyedés jó. sebességre egyébként c++ remek, de pl valósidejű rendszereknél ahogy látom a környékbeli cégek Adáról Javara térnek inkább át.
guideline link?
amit gondolsz, az pontosan úgy van, változónévbe nem kell berakni a típust, későbbi refactornál csak a baj lehet belőle. ha előtte van a típus, az úgyis látszik. hungarian notationsnak valaha volt értelme, de a jelenlegi fejlesztői környezetekkel csak problémákat szül.
postfix annotationt én még nem láttam, szerintem felesleges és végig kell hozzá az egyész FVnevet olvasni (nem látható át gyorsan), szal szerintem az értelmetlen.
prefix tekintetében eltérnek a vélemények. én pl c++ban szoktam m_ prefixet használni a class variableknek, szerintem annyival nem kell többet írni, mint amennyivel átláthatóbbá teszi a kódot. illetve ha a Car classnak van egy m_wheel private variableje, akkor az interfacen lehet a wheelt használni inputnak, így később kívülről az interface tisztábban tartható és nem lehet keveredés, hogy mi honnan jön. ugyanakkor SDKtól függően ez sem mindig kellhet.
egyébként ha érdekelnek a konvenciók, akkor a Lakos féle Large Scale C++ Design remek és zseniális darab, illetve szerintem a Martin féle Clean Code is remek, bár utóbbi inkább Java orientált, de C++ra is nagyrészt érvényes.
Don't dream it, be it. // Lagom amount.
-
-
Davs
tag
Hali!
Lenne egy Qt-s memory managmentes kerdesem memory leakkel kapcsolatban. Van egy Dialogom, a constructorjaban ez all:QStandardItemModel *model = new QStandardItemModel(0,numCols,this) ;
Ugye mivel most megadom parentnek (3. parameter) a this-t, ezert ha bezarodik a program, vagy a Dialog bezarul, akkor az automatikusan torli a child elemeit, koztuk a model-t is.
Ha ezt a model-t beallitom pl egy QTableView modeljenek, akkor minden egyes "cellaban" egy pointer lesz egy QStandardItem-re. Ezek az elemek ugyebar a QStandardItemModel childjei lesznek, tehat ha a Dialogom bezarult, torli a childjeit-> modelt, ami szinten torli az o childjeit, azaz a cellak egyes elemeit.
Mi tortenik azonban, ha meghivok egy
model->setItem(row,1,new QStandardItem(QString("Hello")));
Ilyenkor, ha a setItem elott nem hivom meg a delete-t arra a bizonyos cellara, akkor az torlodik magatol, vagy memory leak keletkezik? (termeszetesen a "magatol torlodest" ugy ertem, hogy a Qt automatikusan torli-e helyettem) -
-
Davs
tag
válasz Sk8erPeter #1792 üzenetére
Ertem, koszi!
-
dajani
tag
Hy.
Fájlkereső programot szeretnék írni, utoljára kb.10éve tanultam (C++) az egyetemen alapszinten, de azóta nem gyakoroltam. Kezdő fejjel mennyire lenne nehéz, egyáltalán belevágjak-e?
Programról: Magát a Sajátgében lévő Keresőt szeretném felváltani, egy olyan keresővel ami ablakban fut, előre beállított hálózati helyeken keres, attól függően, hogy melyik ikont választom ki és ott keresi fájl nevét. Nagyjából ennyi lenne az alap.Üdv.
[ Szerkesztve ]
-
Sk8erPeter
nagyúr
Tulajdonképpen mi az oka, hogy nem keresel egy erre való célprogramot?
Nem értem, miért nem jó neked akár a Total Commanderben lévő, beépített kereső... (Alt+F7)
Vagy csak "ujjgyakorlatnak" szánod, fel szeretnéd eleveníteni a tudásodat, ilyen ambíciók vezérelnek?============
(#1793) Davs : nem tudom, mennyiben volt segítség, de szívesen!
Sk8erPeter
-
Davs
tag
válasz Sk8erPeter #1795 üzenetére
Igazabol aztan meg egyszer atgondoltam es szerintem megsincs koze a QStandardItem destructorahoz, hisz a setItem az adott cellaban csak "referenciat cserel", szoval mas itemre fog mutatni a heapben..de aztan talaltam a dokumentacioban olyant, hogy a setitem, mielott uj erteket allit be a cellara, torli annak tartalmat (ha van ott valami)
-
dajani
tag
válasz Sk8erPeter #1795 üzenetére
Munkàm folyamàn rengeteg idôt töltök pdf rajzok keresgélésével különbözô hàlòzati meghajtokon és ezt az idôt pròbàlnám csökkenteni azzal, hogy a megfelelô helyre beìrva 1kattintassal keressen. A sajàt verziòt lehet fejlesztgetni és a licenc kérdés is sokat szàmìt.
-
-
Sk8erPeter
nagyúr
Hátha valamelyik segít:
[link]
[link]
[link]
[link]
stb.(#1796) Davs : ja igen, akkor előbb félreértettem a kérdésedet, sejtettem, hogy valami nem tiszta.
[link]
Igen, itt van, amit írtál:"void QStandardItemModel::setItem ( int row, int column, QStandardItem * item )
Sets the item for the given row and column to item. The model takes ownership of the item. If necessary, the row count and column count are increased to fit the item. The previous item at the given location (if there was one) is deleted."
Sk8erPeter
-
Dave-11
tag
Áááh srácok segítsetek mert megőrülök
Újra belekezdtem a C++ tanulásába, de még nem haladtam nagyon előre, csak az alapoknál járok, szinte még csak annyit tudok, hogy kiíratok/bekérek szöveget, meg a tömbökről tudok egy keveset.
Legutóbb mikor tanulgattam fekete lyukat hagyott bennem a pointer szó, gondoltam most újra esélyt adok neki, de egyszerűen nem tudom megérteni. Nem csak magát a működését, de azt sem, hogy később majd mit lehet vele kezdeni.Ráadásul a könyv amit olvasok nagyon sok példába beleteszi, amitől meg végképp elvesztem a fonalat.
Valahogy tudnátok segíteni vagy ajánlani valamit? Le kéne tisztáznom az egész dolgot újra, a legelejétől mert összezavarodtam. Könyvet is küldhettek.:D Semmi :D
Ú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!
- iPad Pro 11 WiFi 128GB M1 (3rd gen. 2021) + Apple Pencil 2
- GAMER PC - NZXT - RTX 3060Ti 8GB - i7 7700 - 32GB DDR4 - 500GB M.2 Nvme SSD - 1TB HDD
- BONTATLAN Új Iphone 15 PRO 128-512GB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- ÚJ Bontatlan Macbook Pro 16 M3 Pro MAX 14 30GPU 96GB 2TB Magyar billentyűzet Azonnal átvehető.
- 5% kedvezmény a Cammus szimulátor termékeihez.