- Melyik tápegységet vegyem?
- Félreértések az FSR 4 és a PlayStation 5 Pro körül
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- Milyen belső merevlemezt vegyek?
- Videós, mozgóképes topik
- DUNE médialejátszók topicja
- Forrmell.enn
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Steam Deck
Új hozzászólás Aktív témák
-
EQMontoya
veterán
válasz
HussarF #2748 üzenetére
Jujj, azért ez a pattintott C korszak.
Fscanf: char*-ba tudsz vele olvasni.
Ha stringbe szeretnél olvasni c++ módon, akkor valahogy így próbálkozz:int main () {
string line;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while ( getline (myfile,line) )
{
cout << line << '\n';
}
myfile.close();
}else cout << "Unable to open file";
return 0;
} -
EQMontoya
veterán
válasz
jattila48 #2745 üzenetére
RVO != move, az egyik a standard része, a másik meg compiler okosíáts, de tény, hogy néha hasonló a végeredménye
A vektoros példa pedig szerintem koncepcionálisan is f@szság, nem a függvénynek kell követnie a move szemantikát, hanem a visszaadott objektumnak kell moveolhatónak lennie. -
EQMontoya
veterán
válasz
ToMmY_hun #2735 üzenetére
A feltételes példányosítás alatt pontosan mit értesz?
Különböző paraméterszámú konstruktorok: az egyik variácó, hogy vannak opcionális paraméterek. Ennek a sorrend miatt az a hátránya, hogy ha megadsz egy opcionálisat, akkor az összes előtte lévőt is meg kell adnod, nem kapják meg a default értéket. Illetve asszem, c++14-ben meg tudod oldani pythonos módon, tehát hogy minden paraméternek van default értéke, és név szerint adsz néhánynak.
A másik, hogy settereket írsz az extra paraméterekre, és egy konstruktorod van, de ez alapvetően béna.A factorydon meg nyilván annyi publikus függvény lesz, amennyiféle konstruktorod van, ezt szerintem semmilyen nyelven nem úszod meg.
-
EQMontoya
veterán
válasz
jattila48 #2719 üzenetére
RVO-ra azért alapvetően nem bízzunk mindent (mondjuk egy chaininget - avagy avoid the void - simán), elvégre ahány compiler, annyi szokás. Főleg, hogy némelyik hajlamos hibás asm-et generálni, ha magasra veszed az optimalizációs flaget. (g++ 4.7 x86->arm crosscompilerekben láttam már több ilyen hibát is)
-
EQMontoya
veterán
válasz
EQMontoya #2695 üzenetére
Válaszolva erre is: ma már eléggé nagy multi lett, keresnek kezdőt, tapasztaltat, javast, pythonost, PM-et, stb.
C++-os vonalon igazából nem kell semmilyen ilyen múlt, akinek van tapasztalata és vágja a c++, vagy kezdő de van jó agya és affinitása, azt felveszik simán.Lassan 700 fő a cég, szegedi irodával, nincs már olyan nagy válogatás... Azért mondjuk az Ericssonnál, NSN-nél magasabban van a mérce még mindig.
-
EQMontoya
veterán
Példakód, nyilván. De alapvetően szerintem az a baj, hogy az egy paraméteres konstruktor nem explicit.
Azért az bárkivel megesik, hogy referencia helyett próbál meg pointert átadni, vagy fordítva. Nyilván értelmes esetben csak az egyik megy, és beszól a fordító, hogy csinálj valamit a szaroddal. Ha mindkettő megy, az baj, szerintem ez nem a hívó fél hibája, itt egyértelműen a konstruktorért jár a körmös. Legalábbis szerintem. -
EQMontoya
veterán
Heti fun.
#include <iostream>
class A
{
public:
bool mb;
A(bool b): mb(b) {}
};
void Foo(const A& a)
{
std::cout << ( a.mb ? "true" : "false" ) << std::endl;
}
int main()
{
A* ap = new A(false);
Foo(ap); //prints true
}kijavitottam a formazast meg az elirasokat - dabadab
Tanulság: sose nyomd fullba a kretént...
[ Módosította: dabadab ]
-
EQMontoya
veterán
Az ">>" operatort erre ebben a formában ne használd.
Ha megvan a fix struktúrád, akkor a következőképp csináld:
-Határozd meg, hogy mekkora egy elem. (mondjuk 2*sizeof(int) + x*sizeof(char) )
-Olvass be ekkora blokkokat egy bufferbe.
-A bufferből szedd ki az adatot a változóidba (memcopy pl.). -
EQMontoya
veterán
Ez legalább annyira agybeteg, mint a méltán híres sleep sort
-
EQMontoya
veterán
válasz
Sk8erPeter #2667 üzenetére
Különösen annak tükrében, hogy láthatóan életében nem írt még 30 sor kódot...
-
EQMontoya
veterán
válasz
Scrake^;DD #2665 üzenetére
Leadandó kell, gyorsan valami suliban, ugye?
-
EQMontoya
veterán
válasz
Scrake^;DD #2662 üzenetére
Oké, hol tartasz?
-
EQMontoya
veterán
válasz
Krono91 #2652 üzenetére
A friend kicsit gusztustalan, es annyira nem is kell. Listaelemet siman definialhatod a lists belso osztalyakent is, ha mar mindenkepp osztalyba szeretned rakni.
Strazsa szinten nem tul hasznos szerintem, elso elem prr pointers es utolso next pointers null. Persze az elso elem egyben az utolso is lehet, vagy akar 0 elem is lehet. -
EQMontoya
veterán
válasz
Jester01 #2644 üzenetére
Nagyjából, igen.
Az stiimmel, hogy sizeof(int) != sizeof(double).
64 bit amúgy, linux, gcc. Ez viszont önmagában nem indokolja az "üres helyet".
Az egy paddig, hogy jó legyen az alignment. Elvégre 64 bites proci szereti, ha az osztály mérete 8 bájt többszöröse. Ettől még lehetne a nem használt hely az objektum végén, viszont ugye a cpu 8 bájtos egységeket olvas be 64 biten a memóriából, tehát ha ezen a nem 8-cal osztható címen kezdődne a double, akkor csak két művelettel tudná beolvasni. Ezt pedig nem szeretik. Nem is mindegyik kezeli le, ez ugye SIGBUS signal formájában tud jelentkezni. (pl. ARM-on) Ezért nem a végén tölt fel négy bájttal, hanem a közepén. -
EQMontoya
veterán
struct t_struct
{
int im;
double dm;
};void hack(char *p)
{
int* ip = (int*)p;
*ip=6;
ip++;
double* dp=(double*)ip;
*dp = 6.6;
}int main()
{
t_struct t;
t.im=0;
t.dm=0.0;
char *p = (char*)&t;
hack(p);
std::cout << t.im << "\t" << t.dm << "\n";
}Lefuttatva:
6 és 5.31354e-315 (6.6 helyett)A helyes megfejtők között c++ vándorserleget sorsolunk ki.
Ú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!
- Formula-1
- Melyik tápegységet vegyem?
- Félreértések az FSR 4 és a PlayStation 5 Pro körül
- Villanyszerelés
- Viber: ingyen telefonálás a mobilodon
- Android alkalmazások - szoftver kibeszélő topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Xiaomi 15 - kicsi telefon nagy energiával
- Diablo IV
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- LG 27CN650N-6A - Felhő Monitor - 1920x1080 FHD - 75Hz 5ms - USB Type-C - Quad Core - BT + WiFi
- Csere-Beszámítás! Sapphire Pure RX 7700XT 12GB GDDR6 Videokártya! Bemutató Darab!
- Azonnali készpénzes nVidia RTX 2000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- REFURBISHED és ÚJ - HP USB-C Dock G5 docking station (5TW10AA) - 3x4K felbontás, 120Hz képfrissítés
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest