Hirdetés
Új hozzászólás Aktív témák
-
-
válasz
daninet
#4412
üzenetére
Amit tudsz csinalni az az, hogy eltarolod az utolso erteket az epromban es a kovetkezo inditaskor azt hasznalod seednek... mondjuk ez eleg gyorsan le tudja gyilkolni az epromot, de ha van egy barmi mas (irast jobban turo) perzisztens memoriad, akkor az mar jobb lehet...
-
válasz
daninet
#4343
üzenetére
Amit a tobbiek irtak, plusz annyit tennek hozza, hogy sprintf helyett en std::string+std::regex+std::regex_replace-el operalnek.
Picit lassabb, az teny, cserebe sokkal atlathatobb, olvashatobb, konnyebb modositani es megerteni, es ebben a kodban ugyse ez lesz a sok ido/szuk keresztmetszet, azt a +1ms-et, ami a nativ char helyett string operation lesz siman bealdoznam a szebb es erthetobb kod erdekeben.szerk: Most csak fejbol idegepeltem, nem vagyok benne 100% biztos, hogy ez igy fordul, de a lenyeg stimmelni fog:
#include <regex>std::string daFox =R("The quick REPLACE_ME_SENSEI fox...");
daFox = std::regex_replace(daFox, std::regex("REPLACE_ME_SENSEI"), "brown"); -
válasz
daninet
#4343
üzenetére
Úgy nézem, hogy igen.
Én ennyit változtatnék rajta, ha már tulajdonképpen az if feltételei között impliciten szóba került, hogy az autofile_indexnek akár 10 feletti értéke is lehet (és akkor ez lekezelné azt is, meg rövidebb is):if (autofile_index >= 10)
autofile_index = 1;
else
autofile_index++; -
PandaMonium
őstag
válasz
daninet
#3947
üzenetére
Állásinterjúra még ne menj vele, de két hét után nem rossz.

Pár apró meglátás, javaslat:
- Printf-et felejtsd el, használd a streameket
- Rand, srand függvényeket szintén felejtsd el, van C++11 óta <random> és szuper(komplikált) randomszám generátor osztály
- Goto-kat függvényhívásokra nagyon egyszerűen ki tudod cserélni
- Olyat nem csinálunk, hogyif (minden_rendben) {} else { hibakezeles; }, hanem negáljuk a feltételt:if (!minden_rendben) { hibakezeles; }
- Pastebin helyett jobb a Github Gist-je, főleg ha több fájlban van a kódod
- Nagyon hasznos volna újraírnod a mostani kódot objektum-orientált stílusban, osztályokat használva, sokat tanulnál belőleHa lesz újra gépem (valszeg péntek) és szeretnéd megírom neked szépen, modern C++ban, hogy lásd a különbséget és tudj belőle tanulni.
-
PandaMonium
őstag
válasz
daninet
#3931
üzenetére
Cpp.sh-n kipróbáltam, működik és megáll az elsőnél. Persze az Linux-on fordít GCC-vel.
I/O streamek kezelése mindig macerás, főleg az input kezelés. Sokszor a terminál/shell bufferelni az inputot Linux alatt is, Windows-on pedig külön egy macera az egész.A do-while ciklusodat próbáld meg kicserélni erre a 3 sorra:
cout << "\nGuritashoz nyomj Entert...";
cin.clear();
cin.ignore(10000,'\n');És a \n helyett érdemesebb
std::endl-t használni cout-ra íráskor az új sorhoz, ez platform független. Arra viszont figyelj, hogy ilyenkor flusholja a streamet, szóval performance hit lehet ha nem jól használod. -
b.kov
senior tag
válasz
daninet
#3925
üzenetére
Nem-nem, az std konténereknek pont ez a feladatuk, hogy helyettesítsék a régi tömböket.
Nagyobb a választék, feladatonként eltérően tudsz dönteni közülük, hogy melyik számodra éppen a legoptimálisabb.
Sok esetben nem kell a memória allokálásával, deallokálásával foglalkoznod.
Sok jó setter/getter műveleteik vannak, és működnek rájuk az std algoritmusok.Szóval ha van egy kis időd, nagyon érdemes rájuk szánni.

Érdemes esetleg itt kutakodni. -
b.kov
senior tag
válasz
daninet
#3923
üzenetére
Beolvasod az N-et, aztán indítasz egy ciklust, ami N-szer fog lefutni. A ciklusmagban pedig szépen belepakolod a vectorba a beolvasott értéket, hiszen az egy tároló, amivel a tömböt helyettesíted.
Nagyon egyszerűen:
#include <iostream>
#include <vector>
int main(int argc, char** argv)
{
int N; // jatekosok szama
std::cin >> N;
std::vector<std::string> names;
for(int i = 0; i < N; ++i)
{
// beolvasas
std::string tmpName;
std::cin >> tmpName;
// vektorba iras
names.push_back(tmpName);
}
return 0;
}
Ú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!
- Sony MILC fényképezőgépcsalád
- AGM G3 Pro - ordít róla, hogy szoftverfejlesztők kellenének
- Elektromos autók - motorok
- Milyen TV-t vegyek?
- 3D nyomtatás
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Project Motor Racing-Straight4 Studios
- EAFC 26
- Xbox Series X|S
- Házimozi haladó szinten
- További aktív témák...
- Dell Inspiron 14 Plus 7440 14" 3K IPS Ultra 7 155H 32GB 1TB NVMe ujjlolv gar
- HP 250 G7 i3-8130U, 8 GB RAM, 256 NVMe SSD, 1920x1080 + Nvidia MX110
- ThinkPad T14 Gen4 14" FHD+ IPS i7-1365U 16GB 512GB NVMe gar
- Újszerű Sony A7 III, patona markolat, L-plate, 123k expo
- HP Elitebook 735 G6 13 3 FHD Laptop AMD Ryzen 5 Pro 16 GB RAM 512GB SSD 6 hónap garanciával
- iPhone 12 Pro 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3581, 100% Akksi
- Gombászkönyvek egyben
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- XBOX Series X 1TB // Számla+Garancia //
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)


