Zeiger neu
-
Ich habe mir gedacht das was ich immer Frage gehört ja eig. nicht mehr ganz zu den C-Strings also kommt hier ein neuer Thread von mir wo ich jedzt immer Fragen werde

struct struct_ { int a; double b; struct_ *next; }; struct_ *sp= new struct_; sp->a=12; sp->b=17.9; // weiteres Objekt erzeugen sp->next = new struct_; // Zugriff auf Element a des neuen Objekts sp->next->a = 144; return 0;Wie kann ich nun auf die Elemte a und b zugreifen? (Ausgeben)
-
cout << sp->next->a << '\n';Oder was meinst du?
-
std::cout << sp->a;
jedes new fordert auch ein delete btw.
wobei mir sowieso nicht schlüssig ist, wozu du überhaupt dynamischen speicher für die objekte anforderst.
-
Ups... habe gar nicht mehr auf meine Frage geachtet.

Ihr macht euch die Mühe und ich reagiere nicht mal
Danke für die Antworten und jacout << sp->next->a << '\n';so meine ich das

Und ich hätte mal ne Frage habt ihr eine Programm Idee wo zeiger erforderlich sind (ohne geht es nicht
), das ich mal selber schreiben könnte?
-
Alles mit Polymorphie wo man die Objekte speichern muss.
-
Eigene komplexe Datenstrukturen. Da es in der Standardbibliothek schon alles fuer den taeglichen Bedarf gibt, programmiert man eben eine davon nach, z.B. std::vector oder, wie hier im Eingangsbeitrag versucht wurde, std::forward_list. Dabei lernt man nicht nur Zeiger, sondern auch gleichzeitig, wie das mit der Speicherverwaltung richtig geht (im Eingangsbeitrag ist das naemlich nicht so toll geloest).
-
SeppJ schrieb:
Eigene komplexe Datenstrukturen. Da es in der Standardbibliothek schon alles fuer den taeglichen Bedarf gibt, programmiert man eben eine davon nach, z.B. std::vector oder, wie hier im Eingangsbeitrag versucht wurde, std::forward_list. Dabei lernt man nicht nur Zeiger, sondern auch gleichzeitig, wie das mit der Speicherverwaltung richtig geht (im Eingangsbeitrag ist das naemlich nicht so toll geloest).
Der alte Kommentar (hier, also nicht die komplette Frage) war unnötig. Ich versuche es

-
Wohl weg editiert, aber einst stand hier die Frage:
Skeptar schrieb:
Ich kann es mal versuchen nur eine Frage vorweg ist das sehr schwer?

Ja.
Der Schwierigkeitsgrad ist allerdings - wie meistens - proportional zu Deinen Ansprüchen. D.h. es ist perfekt als Übung - weil es einfach beginnt und dann komplexer wird.Wie sieht's denn aus mit dem skeptar::vector?
void f(){ using skeptar::vector; // vector of ints vector v; v.push_back(-1); v.push_back(0); for(auto i : v) // begin() und end()! std::cout << i << ' '; // -1 0 std::cout << '\n'; }Nicht lang schnacken,
Code einhacken!
(Das reimt sich und bekanntlich ist alles gut, was sich reimt!)