Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » welche C++ Buch empfehlen Sie mir!!!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ] [ 5 ]
010
13.10.2003, 19:13 Uhr
~(un)wissender
Gast


Nach was "schmutziges"! printf() und scanf(), die beiden sind wohl auch nicht zu überbieten, oder?
Pablo, virtual hat dir da gestern(?) ein "Gute Güte" an den Kopf geworfen, insofern hast du selbst ein tolles Beispiel für "schmutziges" C gegeben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
13.10.2003, 19:26 Uhr
Pablo
Supertux
(Operator)


Ich kann nicht nachvollziehen, wass das schmutize an char* sein soll. Auch wenn du es nicht galubst, ich komme viel viel viel mehr klar mt char* als mit string. Für mich ist das einfacher.


Zitat:

Beherrsche ich also C++ komplett, dann auch C.



Da stimmt nicht. C ist eine echte Teilmenge von C++, keine Frage, aber dass man C beherrscht, weil man C++ behersscht ist nicht der Fall.
Wenn du in C++ nur mit Templates und der Klasse string und Klassen arbeitest, wirst du wenig mit char* arbeiten und wenig Erfahrung damit haben, und dann kannst du nicht C komplett beherrschen,

C und C++ haben viele gemeinsame Sachen, aber die Grammatik ist nicht gleich. Es gibt viele Stellen, wo C und C++ sich anders verhalten, auch wenn der Code gelich ist, und wenn du nicht weißt, welche Idee hinter C steckst, dann wirst du C nicht behrerrschen, auch wenn du C++ kannst. Bsp: der Operator ? : C und C++ verhalten sich unterschiedlich:


C++:
x ? y=1 : z=4;



In C++ lässt sich das kompilieren, und das funktioniert wirklich machen. In C kriegst du folgendes: invalid lvalue in assignment. Einer der nur C++ kennt, kann sich das nicht erklären.

Oder

C++:
int main()
{
    for(int i=0; i<7; ++i);
}



Das geht in C++, C liefert

a.c: In function `main':
a.c:4: parse error before `int'
a.c:4: `i' undeclared (first use in this function)
a.c:4: (Each undeclared identifier is reported only once
a.c:4: for each function it appears in.)
a.c:4: parse error before `)'

Einer der nur C++ kennt, kann sich das ebenfalls nicht erklären.

Und davon gibt es einige Sachen.


Bearbeitung:


Zitat:
~(un)wissender postete
Nach was "schmutziges"! printf() und scanf(), die beiden sind wohl auch nicht zu überbieten, oder?
Pablo, virtual hat dir da gestern(?) ein "Gute Güte" an den Kopf geworfen, insofern hast du selbst ein tolles Beispiel für "schmutziges" C gegeben.



ich weiß, aber mein Beispiel war auch krank und das habe ich auch erwartet, denn wer tut denn sowas?


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 13.10.2003 um 19:28 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
13.10.2003, 19:35 Uhr
~(un)wissender
Gast


@Pablo
1. invalid lvalue kennt jeder!
2. Dein for-Beispiel geht auch in C, man muss für C89/99 kompilieren.

Pablo, dir ist doch wohl klar, dass char* *sehr* viel unsicherer ist als string, oder?
Da habe wir es ja schon...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
13.10.2003, 19:40 Uhr
~(un)wissender
Gast


char* ist nicht wirklich einfacher zu handhaben, dass zeigen schon deine Probleme mit den Rückgabewert char*, bitte erinnere dich, virtual hat dir öfters Erklärungen geliefert (siehe FAQ).
Man muss deutlich mehr aufpassen bei dem Umfang mit char* als mit String, glaube es mir, du bist auch nur das eine gewohnt, also kannst du auch keinen Vergleich anstellen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
13.10.2003, 19:50 Uhr
~(un)wissender
Gast


Eigentlich widersprichst du dir selber, mal von der logischen Sache, du sagst C sei eine echte Teilmenge von C++.
Wenn C also eine echte Teilmenge von C++ ist, kann jeder, der C++ kann, auch C und dagegen kannst du nichts sagen, das ist mathematisch abgesichert(Er kann halt eben C. PUNKT).
Das ist natürlich nur theoretisch betrachtet, in der Praxis lässt C++ ein etwas anderes C zu, was aber keines ist :-). Toll, oder?

Die Unterschiede sind aber wirklich marginal und sollten von jedem Programmierer mühelos bewältigt werden.
Das mit dem lvalue z.B. wusste ich nicht, aber es hätte mich nur Sekunden aufgehalten und das auch nur einmal...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
13.10.2003, 20:13 Uhr
Pablo
Supertux
(Operator)


Das mit der echten Teilmenge hast du Recht, aber kann in Wilichkeit nicht Teilmenge sagen, denn weder C noch C++ Mengen oder Klassen oder sonstige solche Strukturen sind. Das war nur so zu sagen, dass es Sachen in C++ gibt, die in C nicht vorhanden sind, bsp: Klassen. Aner soweit ich weiß gibt alle Strukturen von C auch in C++, dass sie anders funktionieren oder Erweitert wurde ist eine andere Sache.

Char* ist wirklich nicht einfach, das gebe ich zu, aber ich fühle mich sicher, mit char* zu arbeiten als mit string. Es gibt Sachen, die mich von strings verwirren. Ja ich gebe zu, ab un zu funktionieren meine char* nicht und muss fragen, aber ich krieg immer hin, was ich mit char* machen will.

invalid lvalue kennt nicht jeder. Hier gab es schon Leute, die gefragt gefagt haben, was lvalue bedeutet und was falsch sein könnte.
Nach C99 ist meine for-schleife richtig, ja stimmt, aber es gab auch schon Fragen, wieso "parse error before ". Also, das ist nicht von allen bekannt.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 13.10.2003 um 20:14 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
13.10.2003, 20:59 Uhr
~(un)wissender
Gast


@Pablo
Wenn diese Fehler Leute schon schockieren, dann werde sie nach dem erstem STL-Parseerror das Programmieren in C++ aufgeben!
Da sind mehere duzend Zeilen von verwirrenden Templatedefinition ohne Absatz schon fast std:.


Zitat:

invalid lvalue kennt nicht jeder. Hier gab es schon Leute, die gefragt gefagt haben, was lvalue bedeutet und was falsch sein könnte.


Ich habe ich auch schon Leute nach std:: fragen sehen, also an Unwissenden fehlt es hier nicht, sieh mich an.
Jeder, der wirklich programmieren kann, weiß, was invalid lvalue bedeutet!
Wer nur Programme wie "Hello, World" schreibt, ist noch kein Programmierer.
Man sollte schon ein paar 10.000+ Programme geschrieben bzw. mitgeschrieben haben, ansonsten fehlt einem schlicht die Erfahrung.

Ich empfehle dir, wenn du C++ programmierst, möglichst nur noch string zu nutzen.
Ist wirklich einfach, aber du must dich sicherlich dran gewöhnen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
13.10.2003, 21:03 Uhr
Pablo
Supertux
(Operator)


Ich benutze C++ nicht. Ich mag Klassen, aber ich benutze sie nur wenn sie notwendig sind. Ich wollte schon den Einstieg in C++ machen, aber ich will ein gutes Buch, wie ich schon erwähnt habe. Ich habe schon mit C++ gearbeitet, und kann schon mit C++ arbeiten, aber die geile Sachen Templates-Klassen Sachen kann ich nicht ganz und deshlab benutez ich sie nicht, weil ich sie nicht richtig implementiere.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
13.10.2003, 21:13 Uhr
~(un)wissender
Gast


@Pablo
Was heißt hier "nur wenn sie notwendig sind"?
Sie sind nie "notwendig", sondern nur ein Lösungsansatz, der recht strukturiert vorgeht.

Zum Einstieg in C++ kauf dir ein gutes Buch (im Forum sind schon etliche genannt worden) und danach die von Scott Meyers.
Wenn du dann noch versuchst, nicht C und C++ zu vermengen und fleißig programmierst, dann wirst du auch mal ein Großer.
Versuch ich schon seid einem Jahr und erste Früchte kommen schon, allerdings brauche ich zum einem guten C++-Programmierer wohl noch Zeit.
C++ ist nämlich um ein vielfaches komplexer als C.

Templates sind auch schon so ziemlich da schwierigste Thema in C++, aber sie lassen tolle Sachen wie Dynamik zur Compilezeit zu.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
14.10.2003, 06:44 Uhr
Kriss



Ok thanks @~(un)wissender,
ich werd mich jetzt verstärkt nach C++ umschauen.Hab halt gedacht das es egal ist ob ich jetzt "Hello World" Programmiere oder ein kleines Game zum Programmieren anfange.
Für nen heißen Tipp was C++ lernen angeht währe ich sehr dankbar.
Ein Programm was mir Programmieren beibringt oder ein online Kurs unter 1000 Euro für 3-4 Tage währe spitze.Ein Buch hab ich schon aber es ist halt ein Thema wo man fast immer Fremdwörter benutzt oder 1000 Befehle in den ersten 10 Seiten und das klapt nicht so einfach.

Wie habt ihr den so das Programmieren mit C++ gelernt ?Nur durch Bücher?-SRY aber ich bin halt mal kein Bücher Wurm und tu mir dabei sehr schwer.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ] [ 5 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: