Favicon Svetmobilne.cz  Svět mobilně Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie Společnost oXy Online s.r.o.
Strana 2 z 2 PrvníPrvní 12
Zobrazené výsledky: 16 až 22 z 22

Téma: c++, překladač

  1. #16
    Starousedlík SHW Avatar uživatele mstejska
    Registrace
    Dec 2007
    Příspěvků
    2,919

    Citace Původně odesláno od Logout Zobrazit příspěvek
    mtejska:


    Jak už píše dojigri, motáš spíš Ty :-). Dals dohromady dvě věci
    1) syntaxe C, kde se mohou vynechat parametry metody. Todle se už asi 30 let nepoužívá, ale hlavně je to záležitost C, nikoli C++.
    2) Vynechání slovíčka void v definici fce bez parametrů. To je naopak záležitost C++
    (umožněná zákazem bodu 1 :-)) a naprosto legální a IMHO i doporučovaná, anžto je
    přehlednější a jednodušší při psaní

    Hlavinka:
    void sice můžeš vynechat, ale závorky samozřejmě nikoli, takže máš tři možnosti:

    int main()
    int main(void)
    int main(int argc,char** argv);
    "Hnusne" je pro me pripad 2, s ukazkou 1 a 3 samozrejme souhlasim.
    Z bodem 1) take souhlasim, myslel jsem prave tento. Timto se omlouvam a sypu si popel na hlavu.
    Jako hnusne je tohle
    int main(int,char**) to jsem mel na mysli.
    Odpovídat lze po přihlášení

  2. #17
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    A co teprv:
    Kód:
    main(argc,char **)
    {}
    to je taky zcela legální....fuj!
    Odpovídat lze po přihlášení



  3. #18
    Starousedlík SHW Avatar uživatele Dojigiri
    Registrace
    Jun 2008
    Příspěvků
    1,636

    Citace Původně odesláno od mstejska Zobrazit příspěvek
    Jako hnusne je tohle
    int main(int,char**) to jsem mel na mysli.
    Njn. ale určitej důvod pro takovej zápis by byl, pokud argc a argv v main vůbec nepoužiju, abych se vyhnul warningům "unused parameter" a zároveň bych chtěl zachovat "nejvíc kompatibilní hlavičku" (ale main(void) jde povětšinou taky použít). I když tenhle případ (i v jiných metodách, např. při implementaci virtuální metody, která parametr musí mít určitej parametr, ale ten neni zrovna uvnitř aktuální implementace použit) řeším obvykle makrem typu
    #define UNUSED(param)
    ...
    function(const int UNUSED(iParam))

    (kdy makro UNUSED neni zpravidla tak jednoduchý a expanduje na function(const int ) v norm. případě a na function(const int iParam) např. pro generování dokumentace přes Doxygen apod.)
    Odpovídat lze po přihlášení

  4. #19
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    Dojigiri:
    hezký, dáš sem to "plnotučný" makro? :-)
    (asi to bude něco jako #IFDEF #DEFINE.... #ELSE #DEFINE), co?
    Odpovídat lze po přihlášení

  5. #20
    Starousedlík SHW Avatar uživatele Dojigiri
    Registrace
    Jun 2008
    Příspěvků
    1,636

    jojo, je to vcelku jednoduchý

    Kód:
    #ifdef DOXYGEN
    #define UNUSED_PARAMETER( parameter ) parameter
    #else
    #define UNUSED_PARAMETER( parameter )
    #endif
    pro Doxygen je definovanej symboj DOXYGEN a jinak není. To mám některý mnohem složitější makra
    Odpovídat lze po přihlášení

  6. #21
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    Jojo, ono to je vcelku jasný :-) jen sem si říkal, že když už o tom mluvíme, tak to třeba někomu pomůže, když to tu uvidí :-)
    Odpovídat lze po přihlášení

  7. #22
    Občasný diskutér
    Registrace
    Sep 2008
    Příspěvků
    69

    Ansi C na Vas . V tom mi kdysi trval hello world asi hodinu, nez me to pustilo bez warningu .
    Odpovídat lze po přihlášení



Strana 2 z 2 PrvníPrvní 12