LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek C/C++ (31) - Jazyk C++, historie, charakteristika, vztah k C

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.
Re: GUI a OOP 18.1.2006 11:48
elviin
Zkuste Ultimate++
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
typová kontrola 9.1.2006 10:55 camlost
|- Re: typová kontrola 9.1.2006 11:12 Jan Němec
L Re: typová kontrola 18.1.2006 11:46 elviin
GUI a OOP 9.1.2006 12:19 Johann von Nepomuk
|- Re: GUI a OOP 9.1.2006 15:37 Jan Němec
L Re: GUI a OOP 18.1.2006 11:48 elviin
Vyhody a nevyhody 9.1.2006 13:10 Aleš Hakl
L Re: Vyhody a nevyhody 10.1.2006 07:49 MaReK Olšavský
  |- Re: Vyhody a nevyhody 10.1.2006 08:04 Jan Němec
  | L Re: Vyhody a nevyhody 10.1.2006 10:02 MaReK Olšavský
  L Re: Vyhody a nevyhody 10.1.2006 15:37 Aleš Hakl
Re: Píšeme knihovnu k použití z C i C++. 15.1.2006 20:06 Ondřej Surý
Pekny clanek! 18.1.2006 12:02 elviin
c versus c++ 28.1.2006 12:32 KinDo
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4889x
2. FreeBSD
Download: 9078x
3. PCLinuxOS-2010
Download: 8573x
4. alcolix
Download: 10962x
5. Onebase Linux
Download: 9669x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6255x

1. xinetd
Download: 2425x
2. RDGS
Download: 937x
3. spkg
Download: 4778x
4. LinPacker
Download: 9982x
5. VFU File Manager
Download: 3206x
6. LeftHand Mała Księgowość
Download: 7210x
7. MISU pyFotoResize
Download: 2820x
8. Lefthand CRM
Download: 3571x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3133x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz