Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
AsterixComic #3101 üzenetére
1. Ha átdefiniálod a new operátort pl. debug céljából. Ekkor magában az átdefiniálásban nem new-t, hanem malloc-ot fogsz használni.
Vagy ha egyszerűen csak szükséged van egy bizonyos méretű pufferre, ahová később olvasol be (pl. fájlból, hálózatról) adatot. Ezt lehet persze char *p=new char[meret]; -tel is, de akkor már a malloc legalább olyan jó. Vagyis akkor, ha nem konstruálni akarsz egy előre ismert típusú objektumot, hanem csak külső forrásból (fájl, hálózat) beolvasni bináris adatot, aminek a típusát esetleg nem is ismered előre. Ilyen lehet pl, ha IP csomagokat olvasol be, amikről előre nem tudod, hogy TCP vagy UDP csomagot fog-e tartalmazni. Ekkor a típus megállapítása után (IP protokoll jelzés) az IP payload részére egyszerűen egy C pointercasttal "ráhúzod" a TCP vagy UDP struktúrát. -
LordX
veterán
válasz
AsterixComic #3101 üzenetére
1. Felelős munkatársak megvetése esetén, általuk való verés elszenvedésével ideiglenesen (code review-ig) helyettesithető.
2. Logikaira ki tudsz találni példát, bitenkénti és-re lásd 1-es pont. -
EQMontoya
veterán
válasz
AsterixComic #3101 üzenetére
1,
Ez egy bonyolultabb téma, kurvára nem alapokhoz való. A válasz egyébként igen, és van is létjogosultsága bizonyos esetekben. Illetve csak félig helyettesítődik ott is, mert placement new-t akkor is kell használni, de a lényeg az, hogy van, amikor szeretnénk elválasztani a memóriafoglalásokat az objektumok inicializálásától és megszüntetésétől.
Jó példa erre az vector, ami lazán fog Neked a háttérben valamekkora helyet foglalni, és oda pakolászol. -
ToMmY_hun
senior tag
válasz
AsterixComic #3101 üzenetére
2:
logikai:
if( a && b){
kifejezes;
}A kifejezés akkor és csak akkor kerül végrehajtásra, ha az "a" és a "b" értéke is logikai igaz.
bitenkénti és:
int a = 0b1010;
int b = 0b1100;c = a & b;
c értéke ekkor: 0b1000;
-
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.
Ú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!
- Újra instabilitásba futott a Raptor Lake generáció
- Motoros topic
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- eBay-es kütyük kis pénzért
- Amazon Kindle
- Napelem
- Renault, Dacia topik
- Méretes QD-OLED monitor jött az ASUS ROG-os portfóliójába
- WoW avagy World of Warcraft -=MMORPG=-
- Milyen routert?
- További aktív témák...
- Szép Dell Precision 5560 Slim Tervező Vágó Laptop -70% 15,6" Xeon W-11955M 32/1TB RTX A2000 4GB FHD+
- UHH! Dell Precision 7560 Tervező Vágó Laptop -70% 15,6" i7-11850H 64/1TB NVIDIA A3000 6GB FHD
- Apple Watch Series 9 Celluláros
- Samsung Galaxy S25 Ultra 12/512GB, Titanium silver
- Nvidia RTX 4070 Gainward ghost Video Kártya
- Samsung Galaxy A12 64GB, Kártyafüggetlen, 1 Év Garanciával
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- Bomba ár! HP ProBook 450 G7 - i5-10GEN I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- AKCIÓ! Gigabyte H610M i5 13600K 16GB DDR4 512GB SSD RTX 3060Ti 8GB Zalman S2 TG Seasonic 650W
- Samsung Galaxy A41 64GB Kártyafüggetlen, 1Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest