Hirdetés

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

  • dobragab
    addikt

    Én az ilyeneket mindig egy ++i-vel oldottam meg.:) Amíg nem találok (csinálok) olyan példát, amiben tényleg hasznos lesz a continue (értsd. lerövidíti a kódot), addig csak olyan felvágós utasításként fogom kezelni. :DDD Felvágós, mert szerintem kevesebben értik vagy később tanulják meg a használatát (mint most én is) és sokszor feleslegesen használják, mint pl. most te is a ++i helyett. ;]
    Ráadásul a ++i szerintem kevesebb utasításból áll, mint a continue, mármint asm-re lefordítva.
    Bár lehet mindjárt visszavonom az egészet, ahogy jobban nézegetem a kódodat. :DDD
    Vissza is vontam, mert continue nélkül meghívná a függvényt a negatív számokra is, azaz kimaradna a tesztelés. :)

    A C++-t is elkezdtem már tanulgatni, de még nem jöttem rá, hogy mitől jobb a C-nél, mit lehet C++-ban megoldani amit C-ben nem, vagy csak jóval bonyolultabban...

    ++i tök mást csinál. continue igazából arra való, hogy ne legyen annyi egymásba ágyazás. A fenti kód így írható át:

    void print_primes(int * primes, int lenght)
    {
    for(int i = 0; i < lenght; ++i)
    {
    if(primes[i]>=2)
    {
    /* és egy rakás random utasítás */
    if(is_prime(primes[i]))
    printf("%d\n", primes[i]);
    /* meg itt is sok utasítás */
    }
    }
    }

    A bitb*szogatás nem az én területem, de tudomásom szerint a continue asm-ben 1 db jump lesz, ugyanúgy, ahogy az if is.

    C++ C-hez képest nagyon sok mindent tud, amit neked első körben érdemes megnézned, az az objektumorientált tervezés.

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