Alkotója szerint egyre többen térnek vissza a C++ nyelvre
Jelentkezz be a hozzászóláshoz.
A legfontosabb azonban a string elérése. Char[] esetén csak pointerrel címezheted (indirekt), változó és class esetén érték szerint is adhatsz át. A pointeres címzés amellett hogy hozzáértõ kezekben nagyon hasznos lehet, kevésbé hozzáértõknél a leggyakoribb hibaforrás. Arról nem is beszélve hogy string típus hiányában egyik függvény AnsiStringet ad vissza, a másik másmilyen strin osztályt vár bemenetként, aztán konvertálhatsz oda-vissza, ami szintén hibaforrás, és a futást lassító tényezõ.
Nem véletlen hogy a Java után a C#-ba is bejött a string típus (pascalban már volt alapból).
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Azt irtad, hogy kihagytak a C++-bol a string tipust, melyre a valaszom az volt hogy a string osztaly a C++ standard resze. Ezek utan te elkezdtel valamit kavarni, amelynek a vilagon semmi ertelme.
A C++ -ban a felhasznaloi tipusok (leirom meg1x, hogy felfogd: tipusok) megadasara hasznalhato egyik eszkoz a class, azaz osztaly. Minekutan a string C++ template osztaly (char mint aktualis parameter) a C++ standard konyvtar resze innentol kezdve a C++ reszet kepezi a string tipus, megha az template osztaly segitsegevel is van megvalositva.
A C++ rendelkezik ugynevezett beepitett tipusokkal is, ezek a int, char stb., de ismet hangsulyozom, ezek beepitett tipusok, es ugyanugy a C++ reszei mint a string felhasznaloi tipus, de ha mar szorszalat hasogatunk, te tipusrol beszeltel, nem beepitett tipusrol (remelem most erre elmentel vagy 3x, hogy a reszletek mocskos getvajaba tocsogunk).
Hatalmas tevedesbe vagy ugyanakkor, ha azt gondolod, hogy a nyelv nem mas mint a szintaktikus, szemantikus szabalyok, tovabba a beepitett tipusok, vezerlesi szerkezetek stb. osszessege, ugyanis a kore epitett standard konyvtarak ugyanugy a nyelv reszet kepezik altalaban, igy a C++ eseteben is. (Remelem megvolt a 4. is)
Ha ezzel ugy gondolod, hogy vitatkozni szeretnel, akkor javaslom, hogy valamely BTK-s ismerossel tedd, mert filozofiai kerdesek megvitatasara nem ez a megfelelo kozosseg es forum sem.
Namost innentol kezdve gondold at, hogy valojaban mit is szerettel volna irni mert latom felremagyarazni dolgokat, feleslegesen kioktatni emberekt azt kivalloan tudsz... csak ertelmet nem latom.
caddie
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Standard C++ Library Reference
string
A type that describes a specialization of the template class basic_string with elements of type char as a string.
typedef basic_string<char> string;
A másik linkeden is egybõl kiszúrja az ember szemét: String constructors Típusnak ugyebár nem nagyon van konstruktora. Kösz a linkeket, jól alátámasztottad amit mondtam. 😄
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
The C++ language supports two types of strings:
Null-terminated character arrays often referred to as C strings.
Template class objects, of type basic_string, that handle all char-like template arguments.
Ugye nem kell lefordítanom?
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Már ne is haragudj, de ez inkább téged jellemez, mint a szerkesztõt... :-P
"Szerintem akármennyi nyelv van mind jó valamire"
Igen ez így van szerintem is, különben nem lenne, ha nem lenne jó valamire.<#hehe>#hehe>
Ezzel a kijelentéssel vitába szállnék. Olyan területeken, ahol a futási sebesség nem fontos szempont, jóval rövidebb fejlesztési idõket lehet elérni az új programozási nyelvek (C#, Java) segítségével."
Hát ha valami kód generátort használsz talán, de az nem fejlesztés. Elõfordult már nem egyszer, hogy jóval hamarabb sikerült kivitelezni egy programot egy nyelven, míg JAVA -ban még javában folyt a fejlesztés. Mindennek tetejében a Forráskód is kisebb lett, a futási sebességet nem firtattam soha, és elmentem 2 nap szabira kihasználván az elõnyömet. Ez nem hiszem, hogy annak tudható be, hogy baromi jó lennék, mert a JAVA fejlesztõk is kitettek magukért (Mellesleg ha már az ember újjaiban bene vagy egy pár év fejlesztés akkor oly mindegy a nyelv), hanem egyszerûen a nyelvi sajátosságoknak köszönhetõek a különbségek. Ráadásul én régimódiember vagyok, nem szeretem a 24 ablakos csili vili Buildereket, amik majd jól megmondják nekem hogy én mit is akarok, hanem elõrántok egy klsz kis editort és abban írogatom a kódot. Köszönhetõ ez talán annak hogy próbáltam megismerkedni a Visual C++ -al, na számomra az minden de nem segítség 😊
<#nezze>#nezze>std::string, MSDN std::string
caddie
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
És össze tudja hozni, hogy ha csinálok egy 'shared library'-t C++ -ban, használja Java-ban.
Szerintem akármennyi nyelv van mind jó valamire, a határaik meg lassan el lesznek mosva, mert van aki ezt ismeri, van aki meg azt...
C++ reszet kepezi a string osztaly.
Java-rol ket dolgot, egyreszt a Java nem platform fuggetlen, hanem a Java maga egy platform. Masreszt a platformfuggetlenseg inkabb elmeleti, mint gyakorlati.
Harmadreszt pedig C++ is lehet bizonyos szinten platformfuggetlenul kodolni (kod szintu platform fuggetlensegrol van szo).
caddie
Szeretem a ráncaimat, mert azt mutatják hogy éltem. Szeretem a beteg rózsákat, Hervadva ha vágynak, a nőket, A sugaras, a bánatos Ősz-időket
String osztályt meg lehet csinálni, javaban sincs string mint egyszerü tipus, az is class.
\"No boom today. Boom tomorrow. There\'s always a boom tomorrow. What? Look, somebody\'s got to have some damn perspective around here. Boom, sooner or later. BOOM!\" -- Lt. Cmd. Ivanova
szerintem a c#é(es egyeb magas szinto programozasi nyelveké) a jovo, sokkal gyorsabban lehet ra fejleszteni, igy olcsobba valik a fejlesztes.
Az meg, hogy kicsit tobbet dolgozik vele a proci(bar ez se mindig igaz) kit erdekel, fejleszteni kell a hardwaret es kesz.
Es trabant, igen, mutato rulez :-)
\"No boom today. Boom tomorrow. There\'s always a boom tomorrow. What? Look, somebody\'s got to have some damn perspective around here. Boom, sooner or later. BOOM!\" -- Lt. Cmd. Ivanova
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
A C/C++ legnagyobb elõnye amit a legtöbben utálnak: a pointerek. Pointer rulez. 😊
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
A C/C++-t nem kell sajnálni, az összes jelentõs programnyelv alapja, így akkor is erõsen ajánlott megismerni, ha nemtán nem is fogjuk használni.
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Ezzel a kijelentéssel vitába szállnék. Olyan területeken, ahol a futási sebesség nem fontos szempont, jóval rövidebb fejlesztési idõket lehet elérni az új programozási nyelvek (C#, Java) segítségével.
Ahol a sebesség és teljesítmény a fõ szempont (pl. egy webszerver-programnál), ott a C++ a szûkséges, viszont a fejlesztési idõ ilyenkor jelentõsen megnõ.
Az a lényeg, hogy ezek a programnyelvek más és más feladatokra valók. Egy Doom3-szintû játékot vagy egy server-programot senki sem fog Java-ban írni, míg egy egyszerû tetrist vagy kisebb applikációt jóval egyszerûbb Java-ban összedobni, mint C++ -ban.
Ráadásul ezek sebességei... legalábbis kíváni valót hagynak maguk után. Különösen, ami a Java-t illeti.
Szemben a C++, amihez nem kell semmi futtató környezet, telepítõ alkalmazással vihetõek a szükséges DLL-ek és egyéb fájlok.
Száma az informatika terjeszkedésével nyílvánvalóan nõ, azért sok nyelvnek ez az alapja, aránya is csökkenhet ezzel együtt.
[ helikopter ]
caddie
"Az Evans Data elemzõi például saját adataik alapján arra a következtetésre jutottak, hogy az elmúlt hat évben folyamatosan csökkent a C++ nyelvet használó programozók száma, és arányuk az 1998-as 76 százalékról 2004-re 46 százalékra zuhant. "
Sztem egyik adat sem valos. C-ben meg talan mindig tobben programoznak, mint C++ -ban. Ami realis alapot adhat a nyelvek jelenlegi hasznalati tendenciainak, az a vasarlolhato konyvek / felkinalt allasok szama.
C/C++ iranyvonal egyelore kivalthatatlan(C mar lassan 30 eve, C++ pedig 20 eve toretlenul fejlodik, javul... mindazonaltal a Java / C# -nak is ketsegtelenul hatalmas a felhasznalhatosagi faktora.
A masik dolog pedig az, hogy mint fent irtam, a C-t meg mindig rengetegen hasznaljak. Ezek egy resze nem is nagyon fog atterni C++-ra, mig egy masik reszuk jo esellyel C++ valasztja elobb utobb alternativanak, mivel a Java / C# nem kepes teljesitmeny teruleten meggkozeliteni az elobbi nyelveket. Erog hatalmas potencialis bazisa van meg a C++-nak.
Ez persze csak az en viziom, remelem jol kovetkeztetek.
caddie