- Milyen billentyűzetet vegyek?
- A GB10 Superchip az NVIDIA és a MediaTek közös rendszerchipje
- Melyik tápegységet vegyem?
- SSD kibeszélő
- Felfűtené a 2 nm-es versenyt a japán Rapidus
- Azonnali fotós kérdések órája
- Azonnali alaplapos kérdések órája
- Gaming notebook topik
- ASUS ROG Ally
- Milyen monitort vegyek?
-
PROHARDVER!
Új hozzászólás Aktív témák
-
flugi
tag
válasz
kisfurko #760 üzenetére
no akkor kicsit más szemszögből: a kód biztonságának egyik kulcsa, hogy észreveszed a hibát a kódban. Sokan (köztük én is) i nevű ciklusváltozót szeretünk használni. Ha van egy programom, amiben van egymás után két ciklus, akkor mindkettőben az i nevű változót használom, de egymáshoz nincs semmi közük. Amikor elírok valamit, és az értékadásban a ciklusaim után véletlenül az i változót akarom használni, akkor hibaüzenetet fogok kapni. Ami persze nagyon jó, mert annak ott tényleg semmi értelme nincs. (ha nem tudnám hol áll meg a ciklus, akkor while-t használok)
A C++ alapkönyvben (Stroustrup) a legelső alapelv a C programozóknak akik C++-ban akarnak programozni, hogy deklaráljuk a változókat ott, ahol szükség van rájuk, úgy, hogy csak addig éljenek, amíg kellenek. A legelső példák egyike a for ciklus fejlécében deklarált ciklusváltozó.
A hatékonyság pedig nem változik meg, kipróbáltam ezt a két kódot:
for (int j=0;j<1000000000;j++) {
int i;
for (i=0;i<10;i++)
{
}
}
meg:
for (int j=0;j<1000000000;j++) {
for (int i=0;i<10;i++)
{
}
}
és nem volt észrevehető különbség, holott eléggé felnagyítottam volna
(G++ DevC++ IDE-ben)
kompaktabb kód, biztonságosabb kód, hatékonysági áldozat nélkül. Tiszta nyereség.
flugi -
Miracle
senior tag
válasz
kisfurko #756 üzenetére
na akkor most leirom azt amit az elobb is leirtam:
van 2 lehetoseg:
szukebb lathatosag : ekkor nem szemeteled tele a nevtereket feleslegesen valtozonevekkel, amik novelik a kod erthetoseget, a kodolast, es konnyitik a debuggolast. Ha megis kell neked a valtozo erteke a cikluson kivul is, akkor elotte 1 sorral deklaralod, szoval GYAKORLATILAG 0 MUNKAVAL MEG LEHET OLDANI.
tagabb lathatosag: bizonyos esetekben szukseg van a ciklusvaltozo ertekere a cikluson kivul is, de ilyenkor nem _illik_ for-ciklust hasznalni, es ezzel tobb szuksegtelen valtozo is bele kerulhet a tagabb nevterbe, ami kis problemat jelenthet, ha mondjuk 1 blokkban 6 ciklus kellene egymas utan. tehat _neha_ sporolhatnal ezzel egy sort, es _mindig_ teleszemeteled a nevtered, ezzel nehezitve a debugolast.
ezt nem kivanom tovabb magyarazni, szerintem ebbol siman ertheto, hogy miert az elso valtozat kerult szabvanyba. (azert mert a tapasztalat szerint _is_ az a hatekonyabb megoldas es jobban illeszkedik a c++ filozofiahoz) -
Miracle
senior tag
válasz
kisfurko #753 üzenetére
valojaban az a jobb, ha csak a ciklusban lathato, mert igy tisztabbak maradnak a nevterek. ha meg neked megis kivul is kell akkor elotte deklaralod es kesz. szoval jobb a szabvanyos megoldas. (eheh sajnos valamely ceget a szabvanyok nem erdeklik, sztem amikor SOAP melle allt a pici & puha mar akkor is fejek hullottak erte
)
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Milyen billentyűzetet vegyek?
- Elektromos cigaretta 🔞
- Google Pixel topik
- sziku69: Szólánc.
- Akciófigyelő: Megnyílt a Xiaomi hivatalos magyar webáruháza
- alza vélemények - tapasztalatok
- A GB10 Superchip az NVIDIA és a MediaTek közös rendszerchipje
- Windows 10
- Nők, nőügyek (18+)
- Android alkalmazások - szoftver kibeszélő topik
- További aktív témák...
- Új Bontatlan iPhone 15 Pro Max natural titanium 256GB
- Új Bontatlan iPhone 15 kék 128GB
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RTX 3060Ti / 32GB DDR5 / 512GB SSD!
- Igényes Gamer PC - Ryzen 5 9600X - 32GB DDR5 - 512GB SSD - Asus TUF RTX 3070 Ti - Vízhűtés - 850 táp
- Lenovo ThinkPad X13 Gen 2 i5-1145G7 16GB 512GB FHD+ 100% sRGB - 1 év garancia
- Bomba ár! Dell Latitude 7390 - i7-8GEN I 16GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
- Felújított számítógépek számlával, garanciával! Ingyen Foxpost!
- GYÖNYÖRŰ iPhone 13 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3206
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: FOTC
Város: Budapest