Portál AbcLinuxu, 30. dubna 2025 14:00

Co nedělat (GCC 4.1 a C++)

6.1.2006 19:06 | Přečteno: 2017× | Linux

Postupně kompiluju všelicos pomocí GCC 4.1. Většinou to jde, někdy pomůže drobná oprava. Ale hrozně často se objevuje tahle hloupost:

class ClassName
{
public:
	void ClassName::FuncName();
};
Tohle je nesmysl... nevím jak na to kdo přišel, ale GCC 4.1 to rozhodně netoleruje. Prosím, nedělejte to.
Nevím o žádné skryté funkci takové deklarace.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

6.1.2006 19:31 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Odpovědět | Sbalit | Link | Blokovat | Admin
Podobně GCC 4 netoleruje implicitní přetypování mezi pointery na (trochu) různé datové typy. Např. mezi pointery na funkce s různými deklaracemi.
6.1.2006 22:28 machr
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Odpovědět | Sbalit | Link | Blokovat | Admin
predefsim bych tu tridu nepojmenovaval ClassName, ale class_name_t


JAK JA NENAVIDIM TY VELBLOUDI ZAPISY !!!!!!!!!!!!!!!
7.1.2006 14:23 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
CopakTiNaNichVadí ? :)
7.1.2006 17:37 machr
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
uryvek z jedny knihy:
Nepouzivejte rovnez velka pocateni pismena, ani VelbloudiZapis - pokud ovsem pro to nemate skutecne velmi vazny duvod. Obracite tim totiz vzhuru nohama poradi vyhledavani a sami pri tom vypadate jako komerecni podivini, kteri ze sebe delaji velke odborniky.
Luboš Doležel (Doli) avatar 7.1.2006 17:53 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Obracite tim totiz vzhuru nohama poradi vyhledavani
To nějak nechápu.
7.1.2006 18:58 machr
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
tam je to totiz o nazvech balicku, ale ja myslim, ze se to da zobecnit.... a navic ja sem mel na mysli hlavne tu druhou cast. vzdycky kdyz tohle vydim, tak si vzpomenu na ty hruzostrasny struktury ve widle-api, kde mimo VelbloudichZapisu pouzivaji jeste madarskou notaci (tusim, ze se tomu tak rika - prvnich par znaku z nazvu promenne urcuje jeji typ). se neni cemu divit, ze maj ve widlich tolik chyb.........

napr.:
struct OsklivaWidlackaStruktura {
    int iSize;
    char* lpfnHrozneOsklivyIdentifikator,
    Xfssd uuquqwJesteMnohemOsklivejsiIdentifikator,
    sfd wsxdfuewTenNejosklivejsiIdentifikatorZeVsechNejosklivejsichIdentifikatoru....
};
7.1.2006 19:15 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
A tohle to vytrhne? Mě se nezdá
struct oskliva_widlacka_struktura_t {
    int i_size;
    char* lpfn_hrozne_osklivy_identifikator,
    Xfssd uuquqw_jeste_mnohem_osklivejsi_identifikator,
    sfd wsxdfuew_ten_nejosklivejsi_identifikator_ze_vsech_nejosklivejsich_identifikatoru
};
When your hammer is C++, everything begins to look like a thumb.
7.1.2006 19:17 machr
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
1. psal sem, ze madarskou notaci taky neeeeeeeeeeeeeeeeeee
2. je videt, ze ses jeste mladej a nezkusenej :-D
7.1.2006 19:29 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Mícháš víc věcí dohromady! Maďarská notace nesouvisí s velbloudím zápisem. K tomu se tehdy u MS rozhodli a skutečnost, že by používali podtržítka místo velkých písmen s tím naprosto nesouvisí. Proto jsem ten kód napsal tak, jak tam je.

Ano jsem mladý a nezkušený, ale to jsou takový vývojáři Sunu, kteří vytvořili Naming Conventions pro Javu bezpochyby také, že?
When your hammer is C++, everything begins to look like a thumb.
7.1.2006 19:31 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
s#takový#takoví# .. achjo, taková hnusná hrubka :-(
When your hammer is C++, everything begins to look like a thumb.
7.1.2006 19:56 machr
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
1. jo, micham vic veci dohromady. ale to proto, ze vysledna citelnost kodu zavisi na mnoha faktorech a pokouset se o zlepseni jen jednoho a zbytek ignorovat nema moc smysl.... proste to nebude fungovat....

navic i s tou madarskou notaci je to o dost citelnejsi ve verzi s podtrzitkama

2. vyvojari sunu to opsali od smalltalku....
7.1.2006 20:41 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
1. jo, micham vic veci dohromady. ale to proto, ze vysledna citelnost kodu zavisi na mnoha faktorech a pokouset se o zlepseni jen jednoho a zbytek ignorovat nema moc smysl.... proste to nebude fungovat....
To souhlasím, ale o tom taky byl můj první příspevek, jen jsem ukázal, že samotné podtržítka nic nezmůžou, pokud jsou jména už tak prasácky napsaná.
2. vyvojari sunu to opsali od smalltalku....
Ok, tak nevytvořili, ale opsali, ale to nic nemění na tom, že je tento styl používaný a nemá nic společného s věkem, či zkušenostmi.
When your hammer is C++, everything begins to look like a thumb.
7.1.2006 17:27 ip
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Asi jsi porad jeste v 7. tride ;-)
7.1.2006 17:40 machr
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
ne. ve skutecnosti jsem ve 3. tride 8-) (na VS)
Luboš Doležel (Doli) avatar 7.1.2006 17:58 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Nedovedu si představit, že bych místo
Gtk::ComboBoxEntryText::TextModelColumns
psal
gtk::combo_box_entry_text_t::text_model_columns_t
7.1.2006 18:32 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Přesně tak! Třeba u php funkcí mi to vyloženě vadilo - domxml_xslt_stylesheet_doc. Mnohem více mi vyhovují doporučení pro Javu (a ostatní jazyky). Názvy tříd - první písmeno velké (MojeSuperTrida), názvy metod, první písmeno malé(mojeSuperMetoda).
When your hammer is C++, everything begins to look like a thumb.
7.1.2006 19:01 machr
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
vetsinou bejva ve zvyku kratky slova, ktery se vyskytujou casto u sebe spojovat, takze napr:
gtk::combobox_entrytext_t::textmodel_columnz_t
a to je podle me o dost prehlednejsi....
David Watzke avatar 7.1.2006 20:21 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Není. Nesnáším _ i v názvech souborů, je to humus...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
7.1.2006 20:34 machr
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
casem_pochopiiiiiiiiis_:-D

__i_love_underscorezzz_!_!_!_!__

a_nejvic_se_me_libijou_nazvy_specialnich_metod_v_pythonu:

__init__
__del__
....

_podtrzitko_rulezzzzzzzzzzz_
David Watzke avatar 7.1.2006 20:53 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Aby ses z toho nezbláznil. :-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
elviin avatar 18.1.2006 08:20 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
nektere prekladace snad Comeau?? varuje u podtrzitka pred jmenem. Podtrzitko pouzivam jen u memberu_ jinak ne. Na zacatku jmena je string "__" vyhrazen (doporuceno pouzivat jen) pro direktivy prekladace. Implementace STL/Boost je dobra sablona pro to, kde psat '_' a kde ne.
belisarivs avatar 6.1.2006 22:48 belisarivs | skóre: 22 | blog: Psychobláboly
Rozbalit Rozbalit vše Re: Co nedělat (GCC 4.1 a C++)
Odpovědět | Sbalit | Link | Blokovat | Admin
No, ja mam z gcc 4 celkem blbe zkusenosti. Nevim com to je, ale kdyz jsem pro muj semestralni projekt zkompiloval jadro s gcc 3.4, tak to bylo OK, ale s gcc 4 jsem pri benchmarcich nemril daleko horsi latence. Low-Latency a Real-Time (pridava rt patch Ingo Molnara) varianty preemptivnho jadra uz tim ovlivneny nebyly, ale No Forced Preempt a Voluntary to bylo fakt dost vyrazne. Mozna uz je gcc 4.1 nekde jinde, ale ta 4ka se mi fakt nezamlouvala.
IRC is just multiplayer notepad.
28.2.2006 23:38 Tabak | skóre: 1
Rozbalit Rozbalit vše VelbloudiZapis
Odpovědět | Sbalit | Link | Blokovat | Admin
Ja zatim tak moc dlouho neprogramuju, ale ten velbloudi zapis, mi pripada kazdopadne hezci. A nemyslim, ze by mnel nejakou zasadni nevyhodu, protoze funkce nekterych vyznamnych knihoven jej pouzivaji (napr OGL a jestli to nepisou profici tak nevim, ty prece musej vedet co delaj).

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.