[Mplayer-felhasznalok] Re?: C++

Szasz Pal spacel at email.ro
Thu Jan 2 18:20:41 CET 2003


Eloszor bocsi hogy nem tordeltem...


> From: Veres Imre <imre.veres at online.hu>

> > Lenyegen a C++ az C es meg egy csomo dolog pluszban, amit vagy hasznalsz, vagy NEM!
> 
> De ha nem hasznalom a c++ hihetetlen feature-jeit, akkor miert
> hasznalnek c++-t? 
Pl: mivel nem minden C fordito ismeri a C99 Standardot, es szeretek
barhol (pl. for-ban) valtozot deklaralni
Szeretem az eljarasokat csoportositani osztalyokba...
es lehet hogy szeretem hasznlani a C++ hihetetlen feature-jait
csak epp nem az idokritikus reszekben
En special szeretem , hogy csinalok egy osztalyt, aminek a konstruktora
vegrehajt valamit.
Namarmost ha van egy globalis valtozom, az adott osztaly tipusu, akkor
a konstruktor automatikusan vegrehajtodik, nem kell a mainbol meghivni.
Pl a programom reguisztral egy csomo fuggvenyt.
Ahhoz hogy egy uj fuggvennyel (modullal) bovitsem a programot nem kell 
atirjam a main-t, csak egy uj allomomannyal tobbet linkelek a progihoz.
(mintha a C -ben is lenne egy GNU extension, de nekem nem mukodott, es mas 
C forditoval sem mukodne)

> From: =?iso-8859-2?Q?P=C1SZTOR_Gy=F6rgy?= <pasztor at sagv5.gyakg.u-szeged.hu>

> Inkább megfordítanám a dolgot.
> C-ben is lehet objektumorientáltan gondolkodni: Nézd meg, hogy pl. a fopen
> egy FILE * -ot ad vissza, vagy az open egy int-et, sít. mind egy objektumot
> azonosít, és az adott objektum kezeléséhez tartozó metódusokkal kezeled
> õket. Anyiban más a dolog, hogy itt a te felelõsséged, hogy a hozzátartozó
> eljárásokkal kezeld le a dolgokat.
Pontosan. Tulajdonkeppen az ASM kod ugyanaz, csak kevesebb a programozo 
felelosege, es attekinthetobb.

> De ha teszem azt az open által visszaadott fd nem épp egy int típus lenne,
> akkor pl. a select-nek, hogy a halálba adnád meg a legelsõ paraméterét? Ti.
Ez mar mas tema. Hogy a select miert ilyen parametereket ker az nem a 
C vs C++ temahoz kapcsolodik.
Es en sem azt mondom, hogy osztalyokat hasznaljunk ha kell, ha nem
(pl. en szemely szerint a Java-t ezert is utalom)]
Termeszetesen vannak olyan helyzetek, mikor folosleges az osztalyok
hasznalata, viszont vannak olyan helyzetek, amikor megkonnyitik a munkat
(sajat tapasztalatbol tudom)

> annak explicite >-nak kell lennie, mint a set-ekben felsorolt max.
> De ez csak egy hirtelen eszembe jutó és vsz. hülye példa. A lényeg, hogy
Pontosan :-)

> akármilyen library-t is megnézel egy OS-en mindet elõszöris C-bõl tudod
> hívni, és nem véletlen, hogy ezekhez más felsõbb nyelvekbõl már csak
> wrapperokkal tudsz hozzáférni. Épp ezért hatékonyabb a mezei C püré!
Talan azert mert a C++ standard a linux szuletese (es a libek szuletese)
elott meg nem letisztaozdva
A masik ok, hogy igy C es C++-bol is elerheto
Viszont vannak olyan libek is amelyek C++-ban vannak irva (pl. a GUI-ok 
tobbsege: Qt, fltk)

> Az áttekinthetõség rajtad is múlik. Pl. ha csinálsz egy osztályt, akkor
> klasszikusan megteheted, hogy az összes hozzátartozó függvényt egy bizonyos
> prefix szerint nevezed el. Lásd pl. postgresql vagy mysql C interfészeit.
Igen, csak akkor azt a prefixet mindig ele kell ird. Nem torik le tole 
a kormom, de ha nem muszaly, akkor miert ?

> megírni. Még az is megértette a program mûködését, aki csak php-ben tud, és
> csodálkozott, hogy "jé ezt még én is értem".
Mellesleg a mysql C API-jaban en is kellemesen csalodtam.
En is inkabb a C api-jat hasznalom, mint a C++-osat

> > Ugyhogy ha pontosak akarunk lenni, akkor nem a c++ lassu, hanem a templatek es exceptionok hasznalata. (sot, ha jol tudom a templatek sem lassitjak... csak a forditast)
> Imho az lassít, hogy még egy köztes lib. kell csak ahhoz, hogy egy csomó
> olyan szemetet biztosítson neked olyan dolgokhoz, amire amúgy rohadtul nincs
> is szükséged.
Az pl. engem is idegesit, hogy mostmar a libstdc++-t mindig hozza kell 
linkeljem
Eddig ha nem hasznaltam a C++-os streameket, akkor nem kellett hozza.
Most ha mar hasznalok egy new-t, mar akkor is kell (azt hiszem a 3.x-es
gcc ota van ez igy)

> PS.: PLS Tördeld a soraid!
Bocsi

Pali

______________________________________________________________________
Do you want a free e-mail for life ? Get it at http://www.email.ro/



More information about the MPlayer-felhasznalok mailing list