Hirdetés

Keresés

Új hozzászólás Aktív témák

  • ekkold

    Topikgazda

    válasz Aryes #22941 üzenetére

    Változó, hogy mikor melyik a jobb (#define vagy pl. const int).
    Van amikor csak az egyik jó, pl. vannak olyan függvények amelyeknek csak változó lehet a paramétere, simán egy beírt szám nem. Ilyenkor a #define-al megadott érték nem lesz jó paraméterként használva.
    Aztán itt van pl. ez:
    #define ERR_MSG1 "Megszakadt a kapcsolat!";
    const char* err_msg1 "Megszakadt a kapcsolat!";

    Ha a programban több helyen írjuk ki ezt az üzenetet, akkor az első esetben (#def..), a program több különböző helyén is fog tárolódni a szöveg, annyi példányban ahányszor kiírjuk. A második esetben viszont csak a stringre mutató pointer lesz többször felhasználva, a szöveg csak egyszer tárolódik el.

    Az fordító optimalizálójára szerintem nem illik túlságosan támaszkodni, mert nem biztos, hogy mindig ugyanúgy fog viselkedni, és a működése attól is függ, hogy mi az optimalizálás célja (mert az is állítható: kódméret, sebesség, memóriahasználat, stb...), valamint sok esetben az is állítható, hogy mennyire legyen "agresszív" az optimalizálás. Utóbbi esetben sokkal hatékonyabb lehet, de előfordulhat, hogy olyasmit is kiszed amit nem kellene, és összeomlik a program... Tudom sokan már nem így programoznak, de én még azt tanultam, hogy igyekezzünk eleve hatékony kódot összehozni...

    [ Szerkesztve ]

    http://skory.gylcomp.hu/ http://www.skory.z-net.hu/ https://skori.hu/ https://skori.spacetechnology.net/

Új hozzászólás Aktív témák