typová kontrola
|
9.1.2006 10:55
camlost
|
v c++ zase tak moc neumím, koneckonců, proto čtu tenhle seriál, tak se ptám:
není výhodou c++ oproti c silná typová kontrola?
to std::endl bych asi nahradil znakem '\n' na konci předchozího řetězce. nevypadá to tak ... odpudivě a nejspíš je to i rychlejší ;-).
ale jinak je to napsané pěkně. |
|
|
Re: typová kontrola
|
9.1.2006 11:12
Jan Němec
|
Ano, v C++ je přísnější typová kontrola. Dostanu se k tomu brzy (asi už v příštím dílu), protože právě kvůli silnější typové kontrole nejdou některé kusy kódu v C přeložit C++ překladačem. |
|
|
Re: typová kontrola
|
18.1.2006 11:46
elviin
|
\n je nova radka
std::endl je funkce, pretizena, ktera vypise \n a navic zajisti, ze cokoliv je v bufferu, bude okamzite vypsano-flush. |
|
|
GUI a OOP
|
9.1.2006 12:19
Johann von Nepomuk
|
[...]s výjimkou GUI, kde je objektově orientovaní programování velmi přirozené [...]
nevim kdo na to prisel, ale traduje se to jiz 15 let. Pamatuji si, jak se pred temi 15 lety vyhlasovalo, jak budou nyni vsechny programmy OOP a ubyde tech chyb a jak je to vlastne prirozene psat hlavne graficka prostredi za pomoci nejakych OOP. A zacala byt shanka po tech programatorech, kteri OO mysli a zjistilo se, ze je jich jako safranu. Asi to tak prirozene nebude. |
|
|
Re: GUI a OOP
|
9.1.2006 15:37
Jan Němec
|
Ach jo. A ja jsem se tak snazil to formulovat opatrne a pokud mozno presne... Na OOP mam celkem jednoznacny nazor: OOP (na urovni syntaxe jazyka a/nebo na urovni stylu prace) je dobre vsude tam, kde je objektove orientovany samotny problem. Je spatne tam, kde tomu tak neni. Kdyz clovek pise GUI, datove struktury struktury s nejakou abstrakci, simulace a podobne, objekty se samy nabizeji a i kdyz nejsou primo v jazyku, jsou v (dobre napsanem) kodu (viz GTK+). Vsude, kde je i primo v podstate problemu nejaka hierarchie typu, kde se primo nabizeji virtualni metody a podobne, tam je naprosto prirozene myslet i psat objektove. Samozrejme, ze spousta problemu (napr. rada konzolovych unixovych filtru, sachovy algoritmus, jednoduchy generator HTML stranky...) objektovou povahu nema a objekty pak v kodu i hlave programatora jedine skodi. |
|
|
|
Vyhody a nevyhody
|
9.1.2006 13:10
Aleš Hakl
|
K nevyhodam C++ bych jeste doplnil, ze vsechny me zname kompilatory C++ jsou neuveritelne pomale. (A ta pomalost kompilatoru je hlavnim duvodem, proc v C++ moc nepisu) |
|
|
Re: Vyhody a nevyhody
|
10.1.2006 07:49
MaReK Olšavský
|
A co ObjectiveC??? Byl bych pro rozšíření seriálu tímto směrem... IMO, je pravda, že C++ jsem nucen používat díky některým knihovnám, ale jsem si vědom spousty nevýhod, třeba pomalost překladu, občasná topornost objektového modelu C++ (možnost dědit z více předků umí programátorovi pěkně zkomplikovat život)... |
|
|
Re: Vyhody a nevyhody
|
10.1.2006 08:04
Jan Němec
|
S ObjectiveC nemám žádné zkušenosti, jen vím, že něco takového existuje, takže v tomto smyslu nemohu posloužit. (Možná je to výzva pro další autory.) |
|
|
Re: Vyhody a nevyhody
|
10.1.2006 10:02
MaReK Olšavský
|
Ono je Objective C snadnejsi na nauceni, nez C++, nehlede k tomu, ze kompiler je take o neco rychlejsi... Ma mnohem cistejsi navrh, nez C++, tomu verte... Dobry material je k mani primo od autoru, Apple, - ObjC.pdf |
|
|
Re: Vyhody a nevyhody
|
10.1.2006 15:37
Aleš Hakl
|
No, ObjectiveC bych pouzival, kdyby v distribucich bylo nejen libobjc ale i libobjc_gc (ktere je ve stromu gcc uz peknych par let a je to rozhodne dobry napad). Dalsi veci je, ze libobjc distribuovane s gcc je misty ponekud podivne (jsou tam funkce vracejici ukazatel do sveho stacku a tak podobne). |
|
|
Re: Píšeme knihovnu k použití z C i C++.
|
15.1.2006 20:06
Ondřej Surý
|
Existujě několik běžně používaných knihoven, které jsou psány v C++, ale ABI je pouze C. Takže tento argument nevynucuje použití čistého jazyka C. |
|
|
Pekny clanek!
|
18.1.2006 12:02
elviin
|
Mam jen jednu poznamecku.
int main(void)
...
bych zapisoval jako:
int main()
...
Sice to standard nevynucuje, ale vyznam s ohledem na C je odlisny. V C znamena (void) nulovy pocet argumentu, tak jako v C++ (), kdezto v C++ (void) je pouze kvuli zpetne kompatibilite. C++ nepotrebuje (void).
Jelikoz je to tutorial k C++ doporucuji pouzivat -pedantic pri prekladu.
Jeste bych zminil navic k std:: jeste std::tr1 a boost::.
|
|
|
c versus c++
|
28.1.2006 12:32
KinDo
|
nesuhlasim s vetou "Je možné napsat program v C++, který překladačem C přeložit půjde" ak nieco prelozim kompiatorom c, tak to nie je napisane v c++, ale v c |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|