- Hamarosan megkezdődik a nubia 2,8K-s táblagépének szállítása
- Barátokká váltak az eddig rivális AI-óriások
- ASUS blog: Ideális olcsó utazós gép lett az új Vivobook S14
- Az Aura Displays hordozható monitorhármasa jól felturbózhatja a produktivitást
- Dual Mode-os IPS monitorral adott magáról életjelet a Gigabyte
Új hozzászólás Aktív témák
-
válasz
PandaMonium #3950 üzenetére
Raadasul az OOP az nem az egyetlen udvozito iranyzat.
-
válasz
MasterMark #2911 üzenetére
Nincs ilyen szabaly, hasznald azt a megoldast, ami az adott helyzetben leginkabb atlathato es legkonnyebben ertelmezheto.
-
válasz
EQMontoya #2907 üzenetére
Ezt most talaltam nalunk (nem C++, de a lenyeg atjon):
/**
* A utility class to create the objects
*/
public class ObjectUtil {
private ObjectUtil() {
}
public static Activity getActivity(Person author,Person target) {
Activity activity = new Activity();
activity.setAuthor(author);
activity.setTarget(target);
return activity;
}
}Looks like a fckin' constructor to me
-
válasz
EQMontoya #2779 üzenetére
Hat vagy igen, vagy nem. En ugy kepzeltem, hogy a problemaja az, hogy a leszarmazottakat nem 'Part'-kent akarna hasznalni, hanem a leszarmazottak specialis tulajdonsagaira van szukseg.
Tehat ha van Part, meg PartSubC1 meg PartSubC2, akkor neki adott esetben csak a PartSubC2 a megfelelo, es PartSubC1 nem.
Persze az lehet, hogy a Part-nak van egy virtualis fuggvenye, ami kozli a sajat nevet/tipusat, es a problema meg is van oldva -- ez az egyik megoldas a sok kozul. A dynamic_cast egy masik. A lenyeg, h runtime check az kell.
-
válasz
ToMmY_hun #2777 üzenetére
Egyreszt, void * helyett visszaterhetnel Part *-al is.
Ez a szokasos ko/kontravariancia problema. Ha a maped Part*-okat tartalmaz, es forditasi idoben nem tudod leszukiteni a potencialisan tartalmazott leszarmazottak tipusat, akkor nincs mese, futasideju ellenorzest kell valahol csinalni. Ezt sok ponton meg tudod oldani, de a vege tuti az lesz, hogy valahol ellenorizned kell azt, hogy az adott sztring kulcshoz tartozo ojjektum megfelelo tipusu-e.
Erre a dynamic_cast egy lehetseges megoldas, de akar tarolhatod a mapban is a tipusinformaciot, ahogy jolesik.
-
válasz
Sk8erPeter #2667 üzenetére
-
válasz
zsambek #2657 üzenetére
Egyreszt szerintem az nem jo, hogy az elso parameternek van defaultja, a masodiknak nincs. Default parametert csak ugy lehet megadni, ha az utana kovetkezo parametereknek mind van defaultja, vagy nincs tobb parameter.
A masik problema az, hogy
T[] adat = new T[ssize]; //lefoglalok T tipus tomb adatot, ssize meretut
itt a T[] felesleges, mert nem lokalis valtozot szeretnel inicializalni, hanem az adattagot. (Gondolom en.)
-
> Kicsit itthagyom a gepet, csinalok egy full analizist, es felrakom valahova.
Hat, jelenleg nincs annyi szabad helyem az SSD-n, hogy vegigfusson a full instrumented profiling (40 GB-ot irt ki, amikor betelt), szoval majd egyszer maskor, a lenyeg nem valtozna ugysem. Oldd meg a lenti problemakat, utana folytatjuk.
-
Ami miatt nagyon lassu a program:
- a ComptonScatter fv.-ben az elejen letrehozol egy 3x3-as matrixot vector<vector<double>> formajaban, ujra es ujra, minden fuggvenyhivasnal. Feltetelezem, hogy ez az elozo, mindent-egybe verzioban nem igy volt. Csak ez onmagaban a programod futasidejenek kb. 30%-at viszi el, nagysagrendileg 500e-szert hivod (csak a 10%-aig futtattam a profilert, mert marha sokaig tart, amig kielemzi az instrumentalas utan a hivasszamokat). Javaslat: ezt az atmeneti vektort ne generald ujra mindig, hanem (mezitlabas modon) hasznalj valami globalis valtozot, lehetoleg ne is vector<vector<>>-t hanem csak egy 9 hosszu sima vector<>-t, amit aztan megfeleloen indexalsz. (Tobbiek ne kopjenek le a global miatt, eleve gyakorlatilag C kodrol beszelunk..)
- a FreePath fv-ben, amit szinten joparszor meghivsz, ott pedig van ez a sor:
while (hkm[k][0] < E1) k++;// mc_4, hkm_E 5 elemû sorvektor. Megadja az hkm-értékeket a keresett E1 energiánál.
Ez szinten a teljes futasido kb. 30%-at veszi el. Ha jol latom, itt a hkm az a fajlban tarolt adat, es ebben keresgelsz. Ahelyett, hogy linearisan keresnel, tedd bele valami masfele adatstrukturaba. (Biztos lehet egyeb dolgokat is csinalni, de faj a szemem a kododtol).
Kicsit itthagyom a gepet, csinalok egy full analizist, es felrakom valahova.
-
válasz
Sk8erPeter #2633 üzenetére
spekt.txt az asszem kimeno adat, a masik viszont kellene
(akarok rajta futtatni egy profilert)
-
válasz
jattila48 #2583 üzenetére
Jah, a lathatosag ellenorzese csak compile-time tortenik, es kizarolag azt nezi meg a fordito, hogy az az osztaly, amin _keresztul_ elered a metodust, az friend-e vagy sem. 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.
-
válasz
jattila48 #2581 üzenetére
Ugye ez egy statikus fuggveny, forditasi idoben eldol, hogy melyik fuggvenyt hivja. Megnezi az R-t eloszor, latja, hogy nincs ott ilyen nevu fuggveny. Megy felfele az oroklesi hierarchiaban, megtalalja Q::q-t. Ezek utan megnezi, hogy a lathatosagi szabalyokkal mi a helyzet, es latja, hogy Q::q az lathato P-bol, mert P friendje Q-nak, es mar kesz is.
Ha R::q-t is definialnad, akkor mar nem mukodne. Tehat a fordito _eloszor_ keresi meg a fuggvenyt, amit hivni kellene, utana ellenorzi a lathatosagot.
-
-
válasz
Ereshkigal #2513 üzenetére
Egyaltalan nem ertek egyet, rengeteg olyan dolog van a C++-ban, ami feleslegesen bonyolitja egy kezdo eletet. A nyelv maga oriasi, meg kvazi profikent is bele lehet futni olyasmikbe, amikre sose szamitottal volna. Szoval tok feleslegesnek tartom ezzel kuzdeni, amikor vannak nyelvek, amik sokkal 'kisebbek' (marmint a nyelvi konstrukciok szama es bonyolultsaga alacsonyabb), es ugyanugy majdnem mindenre jok.
-
válasz
Oppenheimer #2508 üzenetére
Jaja, abort()-ot nem kapsz csak ugy el catch()-el.. (SIGABRT handlerrel lehet talan).
-
válasz
Oppenheimer #2504 üzenetére
ctrl+alt+e
... FB is jo, amit akarsz, privatban megirhatod
-
válasz
Oppenheimer #2502 üzenetére
Headerek? A bufferek amikbe a socketek tarolnak a bejovo cuccot, threadenkent szeparaltak? Megprobaltad bekapcsolni a lentebb emlitett opciokat debugolaskor?
Szerk.: keress mar meg szkajp cseten, vagy valami hasonlo..
-
válasz
Oppenheimer #2500 üzenetére
Az UDP_Socket forrasat es azt, ahol a threadet inditod, nem tudod felrakni a pastebinre (vagy akar ide, de pb jobb)? Ha jol latom, ez nem titkos (merthat eleve adtal rola sok kepernyofotot).
Miben kulonbozik a ket thread?
Plusz:
- a debug opcioknal kapcsold be a 'break on first chance exceptions'-t
- kapcsold be a c++ exception-oknel a 'break on thrown'-t
- esetleg kapcsold ki a just my code-ot -
válasz
Oppenheimer #2497 üzenetére
Nyilvan nem az std::cout az erdekes, hanem hogy mit csinal az << operatorod az osztalyodban.
Mi az az adat, ami a ket szalban kozos? Gyanitom, hogy a << operator hasznal osztott adatot.
-
válasz
Oppenheimer #2495 üzenetére
Tehat jol ertem, hogy
- a problema determinisztikus
- mindig a masodik szalnal jon elo (az elso recvfrom mukodik, de ugyanaz a kod egy masik szalon meghivva mar nem) -
válasz
Oppenheimer #2492 üzenetére
Publikus a forras? Ha nekiallsz debugolni, akkor mi tortenik (call stack kellene)?
-
válasz
WonderCSabo #2484 üzenetére
> két paraméteres konstruktort hívja meg
Asszem ellipszis a harmadik, nem ket parameteres, de ez csak szorszalhasogatas.
-
válasz
Oppenheimer #2481 üzenetére
Az miert fontos, hogy melyik szal? (Hacsak nincs UI thread.)
-
válasz
Oppenheimer #2479 üzenetére
Szerintem:
class A {
void foo() {}
};
// stb..
A a;
std::thread thread_name(&A::foo,&a); -
válasz
Sk8erPeter #810 üzenetére
Tudom en, hogy tudod, csak hidd el, hogy en is tudom
-
válasz
Sk8erPeter #808 üzenetére
En ugy ertettem, hogy ha minden szot kulon elemkent kezelsz, akkor a fajl merete nem fog sokat mondani arrol, hogy mekkora tombre van szukseged.
-
válasz
Sk8erPeter #772 üzenetére
A fajlmeret-beolvasas nem mukodik - gondolom szavankent kell belerakni a tombbe, azt meg elore nem tudja, hogy hany szo van.
Ú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!
- SD-kártyát vennél? Ezért ne csak a GB-ot nézd! – Tech Percek #9
- A fociról könnyedén, egy baráti társaságban
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Gaming notebook topik
- Atomenergiával dübörögnek tovább az Amazon adatközpontok, SMR-ek is jöhetnek
- Luck Dragon: Asszociációs játék. :)
- Plazma TV topic
- Háztartási gépek
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- További aktív témák...
- Apple Ipad 10.generáció
- Új HP Pavilion x360 14-ek Érintős hajtogatós Laptop Tab 14" -35% i5-1335U 8/512 FHD IPS Iris Xe
- RTX 4080 SUPER,16GB. Ryzen 7 7800X3D, 32 RAM Fury RGB! Garancia!
- Asztali PC , i7 9700K , RX 5700 XT , 32GB DDR4 , 500GB NVME , 1TB HDD
- Dell Inspiron 5406 2-in-1i5-1135G7 16GB DDR4 3200 512GB NVME 14" FHD Érintőkijelző W11Pro
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Huawei P20 Lite 64GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Odyssey G6 S27BG650EU - 27" QHD 2K 240Hz Ivelt - Gaming monitor - 1,5 év Gyári garancia
- HYNIX 2GB DDR3 RAM eladó
- AKCIÓ! Gigabyte AORUS 16X (2024) Gamer notebook - i7 14650HX 16GB RAM 1TB SSD RTX 4070 8GBWin11
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged