Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Rund um die Programmierung ::  WARNUNG: Bücher von Jürgen Wolf zu C und C++ zum Lernen ungeeignet weil...  
Gehen Sie zu Seite Zurück  1, 2, 3 ... 18, 19, 20 ... 26, 27, 28  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
314159265358979
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
Beitrag 314159265358979 Mitglied 19:33:01 28.10.2011   Titel:              Zitieren

Zitat:
[19:23:42] <Paprikachu> ich geb dir n tipp: struct node { node* prev; node* next; T data; };
[19:23:53] <Hacker> aja
[19:23:55] <Hacker> genau
[19:24:02] <Hacker> ok, mach mich dran es zu lernen
[19:24:51] <Hacker> sag mal, machts da sinn den struct alsn typedef zu machen?`
[19:25:02] <Paprikachu> nö
[19:25:04] <Paprikachu> wozu
[19:25:10] <Hacker> kp :D
[19:25:18] <Paprikachu> das macht man nur in C
[19:25:27] <Hacker> ???
[19:25:35] <Hacker> wie dass? gibt kein typedef in C
[19:25:39] <Paprikachu> türlich
[19:25:48] <Hacker> ??????
[19:25:49] <Paprikachu> typedef struct {} foo;
[19:25:56] <Hacker> ????????????
[19:26:01] <Hacker> seit wann?
[19:26:12] <Paprikachu> immer schon :D
[19:26:16] <Hacker> in c++ von a bis z steht, soweit ich mich erinner was anderes


Sorry Hacker, ich kann nicht anders =(
Hacker_ausgeloggt
Unregistrierter




Beitrag Hacker_ausgeloggt Unregistrierter 19:36:30 28.10.2011   Titel:              Zitieren

kp. Hab nachgeguckt, steht nicht so da, hab ich aber so verstanden :cool:
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 25649
Beitrag volkard Moderator 19:45:50 28.10.2011   Titel:              Zitieren

Dickes LOL.

Zur Erklärung:
In C gilt (galt? Bin nicht auf dem neuesten C-Stand, sorry. Hatten die das nicht auch angepaßt?), daß man schreibt
C++:
struct Node{Node* prev; Node* pred; double data;};

und man verwendet es mit
C++:
struct Node n;

Man kann (konnte?) nicht schreiben
C++:
Node n;

:(

Aber mit typedef kann man das dann doch hinkriegen.
Erstmal plump:
C++:
struct Node{Node* prev; Node* pred; double data;};
typedef struct Node NodeType;

und jetzt geht weiterhin natürlich
C++:
struct Node n;

aber auch das praktische
C++:
NodeType n;


Ok, und dann hat man sich angewöhnt, es so zu machen:
C++:
struct Node_tag{Node* prev; Node* pred; double data;};
typedef struct Node_tag Node;

nebst
C++:
Node n;


Und später sogar
C++:
typedef struct {Node* prev; Node* pred; double data;} Node;

nebst
C++:
Node n;


Das war in C++ aber nie ein Thema.
In C++ war schon immer, daß man mit struct oder class Typen baut, die sich sozusagen wie int anfühlen.
C++:
struct Node{Node* prev; Node* pred; double data;};

nebst
C++:
Node n;


Falls C++ von A-Z da einen typedef echt reingehauen hat, war das ein Versehen, weil er den Code von C gecopypastet hat und nicht nach C++ umgestellt. Kann ich aber kaum glauben. So panne ist auch Jürgen Wolf nicht.

_________________
ewr-dienstleister krankenversicherung


Zuletzt bearbeitet von volkard am 19:51:14 28.10.2011, insgesamt 5-mal bearbeitet
Jonas OSDever
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.08.2010
Beiträge: 694
Beitrag Jonas OSDever Mitglied 21:03:46 28.10.2011   Titel:              Zitieren

volkard schrieb:
So panne ist auch Jürgen Wolf nicht.

Oh, Schei..., dann bin ich ja panne. Ich hab nähmlich auch in C++ die Angewohntheit
C++:
typedef struct tagFoo
{
     int bar;
     char foobar;
     double barfoo;
} Foo;

zu schreiben.

Ach ja zum Thema JW (hab den Thread jetzt erst entdeckt): Ich persönlich habe noch nie ein JW-Buch in der Hand gehabt, find sie aber, nach dem was ich hier im Forum gelesen hab, ganz gut. Jediglich der Titel passt nicht. Müsste eher heißen: "C++ - wie man es nicht machen sollte". :p

_________________
Hier koennte eine Signatur stehen
C-Expert
Unregistrierter




Beitrag C-Expert Unregistrierter 22:56:45 28.10.2011   Titel:              Zitieren

Volkard was du an C Code schreibst ist falsch. Einfach mal was wildes zusammen schreiben ist genau so schlimm wie der Herr Wolf. Vor allem weil du deine Snippets einfach kurz mit deinem Compiler hättest testen können, z.B. gcc -c -std=c89.

Man muss in der Definition des structs schon einen gültigen Bezeichner aus dem "tag space" verwenden, in den meisten deiner Fälle ist das "struct Node" statt "Node".

Übrigens ist
Code:
typedef Node_tag Node; Node Node; /* <-- Deklaration einer Variablen Node vom Typ Node. */
auch legal, aber empfohlen wird, wie in deinem letzten Beispiel ein _tag anzuhängen.

Ansonsten wer wirklich 0.02€ Ahnung von C haben will der kommt um
ISBN:0131774298
nicht herum. Da steht alles drin was einen Elektrotechniker von einem C Guru unterscheidet.
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 25649
Beitrag volkard Moderator 23:20:26 28.10.2011   Titel:              Zitieren

Jonas OSDever schrieb:

Oh, Schei..., dann bin ich ja panne. Ich hab nähmlich auch in C++ die Angewohntheit
C++:
typedef struct tagFoo
{
     int bar;
     char foobar;
     double barfoo;
} Foo;

zu schreiben.

Naja, da kann ich Dich beruhigen.
Das ist in C++ ganz sicher nicht mehr nötig.

_________________
ewr-dienstleister krankenversicherung
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 25649
Beitrag volkard Moderator 23:26:30 28.10.2011   Titel:              Zitieren

C-Expert schrieb:
Volkard was du an C Code schreibst ist falsch. Einfach mal was wildes zusammen schreiben ist genau so schlimm wie der Herr Wolf. Vor allem weil du deine Snippets einfach kurz mit deinem Compiler hättest testen können, z.B. gcc -c -std=c89.

Kindchen, ich habe persifliert, was Praxis ist. Hast Du an meiner historischen Herleitung was auszusetzen?

_________________
ewr-dienstleister krankenversicherung
asddsdsasad
Unregistrierter




Beitrag asddsdsasad Unregistrierter 17:43:15 30.10.2011   Titel:              Zitieren

Also ich habe "C von A bis Z" gelesen fand es gut und habe mir direkt "C++ von A bis Z" bestellt und bin es auch durchgegangen.

Nach einigen Fragen hier im Forum wurde ich vom volkard nicht besonders freundlich in die Existenzkrise gestürzt.

Am Anfang mag man vieles nicht glauben aber da ich schon über 5 Jahre C++ programmiere und einiges aber bei weitem nicht alles mittlerweile selbst einschätzen kann gruselt es mir was ich da über Jahre hin programmiert habe.

J. Wolfs C oder C++ Bücher haben meiner Software sehr großen Schaden hinzugefügt. Selbst heute muss ich vieles im alten Code verändern/wrappen/abfangen. So wird es euch allen ergehen wenn ihr mit Wolfs Büchern anfängt und irgendwann richtig programmieren lernt.

Ich glaube dass ich das nächste mal beim erlernen einer neuer Sprache viel vorsichtiger sein und mich nicht auf die Amazon Rezensionen von Leihen verlassen werde.

Mein Dank an Diejenigen die mich permanent angeflamed und manchmal zur Verzweiflung gebracht haben: volkard,krümmelkacker,seppj,...

Es könnte zwar ein wenig freundlicher gehen aber es hat geholfen. ;)
Heiland
Unregistrierter




Beitrag Heiland Unregistrierter 15:42:00 31.10.2011   Titel:              Zitieren

asddsdsasad schrieb:
Es könnte zwar ein wenig freundlicher gehen aber es hat geholfen

Und das soll es doch auch, Jungchen. Alles ist heile (◕‿◕)
landei
Unregistrierter




Beitrag landei Unregistrierter 16:36:06 31.10.2011   Titel:              Zitieren

Ihr treibt JW in Hartz 4 wenn ihr so weiter macht :mad:
c++.de :: Rund um die Programmierung ::  WARNUNG: Bücher von Jürgen Wolf zu C und C++ zum Lernen ungeeignet weil...  
Gehen Sie zu Seite Zurück  1, 2, 3 ... 18, 19, 20 ... 26, 27, 28  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.