Objekte dynamisch anlegen ?
-
Na gut, überredet. Peng, machs mit nem STL-Container. Oder benutze gleich Smart Pointer, um das ganze etwas anspruchsvoller und praxisferner zu machen
-
also ich bin auch gerade am lernen von c++ und denke, dass CME recht hat ... man sollte schon die grundlagen kennen, damit man auch mit der stl zurecht kommt ... doch bin ich nur ein noob und hab die welt noch nich ganz gesehn
mfg
-
Kannst Du Fahrrad fahren? So richtig mit Gangschaltung und Bremse? Vermutlich schon. Kannst Du soeins bauen? - Ich auch nicht... ich benutz es trotzdem.
-
Jester schrieb:
Kannst Du Fahrrad fahren? So richtig mit Gangschaltung und Bremse? Vermutlich schon. Kannst Du soeins bauen? - Ich auch nicht... ich benutz es trotzdem.
Auch wenn das ein netter Vergleich ist, ich finde schon das es wichtig ist zu verstehen wie Container funktionieren. Dabei lernt man auch gleich noch mit Pointer umzugehen.
Von daher wäre mein Tip: Versuche erstmal eine doppelt verkette Liste zu programmieren
-
Jester schrieb:
Kannst Du Fahrrad fahren? So richtig mit Gangschaltung und Bremse? Vermutlich schon. Kannst Du soeins bauen? - Ich auch nicht... ich benutz es trotzdem.
Der Vergleich hinkt doch etwas. Niemand hat gesagt, man solle ein Fahrrad bauen (oder std::vector nachprogrammieren). Du solltest aber schon wissen wie man die Gangschaltung oder die Bremsen anwendet, oder du wirst nie richtig Fahrrad fahren.
-
Und wie eine Gangschaltung am besten funktioniert, lernt man bekanntlichermaßen am besten auf einem Roller.
-
Kannst du mir mal den kausalen Zusammenhang erklären. Steh gerade aufm Schlauch. Die C++ Sprachmittel sind ja unabhängig von STL Klassen Implementationen.
-
Zu verstehen wie ein vector funktioniert geht hier aber am Thema vorbei. Es ist ganz konkret die Frage, wie man eine Objektmenge verwalten kann. Und da ist vector einfach und simpel. Natürlich ist es toll, wenn man das versteht, aber in erster Linie geht es hier doch darum ein Problem zu lösen.
Um bei dem Beispiel mit dem Fahrrad zu bleiben. Du willst von A nach B, ich geb Dir ein Fahrrad und ein set Teile, aus denen man ein Fahrrad bauen will. Geht es um's Verständnis des Systems (war hier aber nicht gefragt), dann würd man natürlich das Fahrrad selber bauen. Geht es aber nur darum ne Aufgabe erledigt zu kriegen, also von A nach B zu kommen (das war hier gefragt), dann würde wohl jeder normale Mensch das Fahrrad nehmen.
-
Jester schrieb:
Zu verstehen wie ein vector funktioniert geht hier aber am Thema vorbei.
Darum ging's mir ja auch nicht, sondern darum, C++ zu verstehen. Und sich dabei sofort auf die STL zu stürzen, ist imo falsch. Was bringt es einem 'ne Funktion binaer_string -> int zu schreiben, wenn ich dann pow(2, ...) benutze (nur so als Beispiel, weil ich sowas heute erst wieder gesehen hab)?
Jester schrieb:
dann würde wohl jeder normale Mensch das Fahrrad nehmen
Was einem aber trotzdem nix nützt, wenn man nicht weiss wie 'ne Gangschaltung funktioniert oder wozu die Pedale da sind.
-
groovemaster schrieb:
Was einem aber trotzdem nix nützt, wenn man nicht weiss wie 'ne Gangschaltung funktioniert oder wozu die Pedale da sind.
Falsche Ebene
-
nur mal angemerkt: durch die anwendung der stl container lernt man fast automatisch, wie ein array funktioniert, wie man pointer benutzt, usw. Stichwort iteratoren.
-
Jester schrieb:
Falsche Ebene
Begründung?
-
Weil mein Beispiel untschied zwischen: zusammenbauen aus einzelteilen und einfach benutzen. Du kamst jetzt aber her und hast behauptet, man wisse nichtmal wie die Einzelteile zu benutzen seien... wie will man denn dann ein Fahrrad bauen???
Aber da hättest Du eigentlich auch selber draufkommen können, oder?
-
Hi,
kleine Korrektur noch:
CME386 schrieb:
Adresse *neueadresse = new Adresse[5]; // Legt ein Array von 5 Adresse-Objekten an neueadresse[2]->benutzerEingeben(void); // greift auf dritte Adresse zu
Adresse *neueadresse = new Adresse[5]; // Legt ein Array von 5 Adresse-Objekten an neueadresse[2].benutzerEingeben(void); // greift auf dritte Adresse zu
Threadersteller:
Durch [] wird der Zeiger schon aufgelöst.MfG Eisflamme
-
Mis2com: Flüchtigkeitsfehler
Ich denke, Vektoren kann man am Anfang schon benutzen. Um mal ein anderes Beispiel zu nennen, das sogar was mit Computern zu tun hat (aber genau so hinkt
): Ich lern nicht Assembler, um nachher in C++ zu programmieren.
Bitte zerreißen
Jetzt mal ernsthaft: Wenn ich mit ner Sprache anfang, versuch ich, alle nötigen Grundlagen zu lernen und wenn ich die kann, dann nehm ich sofort die Mittel, die ich nachher auch benutzen werden. Da heute allerdings fast keine Arrays mehr benutzt werden, zähl ich sie nicht zu den nötigen Grundlagen. Über Arrays erfährt man genug, wenn man Vektoren durchnimmt.
-
Hi,
Arrays und Zeiger liegen aber nahe beieinander und wenn man mit den STL Containern arbeitet, wird man damit wohl oder übel viel zu tun haben.
Das mit dem Flüchtigkeitsfehler war mir klar, wollte das nur der Korrektheit halber noch Mal aufschreiben.Mfg Eisflamme
-
Jester schrieb:
Weil mein Beispiel untschied zwischen: zusammenbauen aus einzelteilen und einfach benutzen
Und genau da liegt der Hase im Pfeffer. Du musst kein Fahrrad zusammenbauen können, du solltest aber verstehen, was die verschiedenen Einzelteile für eine Funktion haben und wie man sie anwendet. Nicht mehr und nicht weniger.
Jester schrieb:
Aber da hättest Du eigentlich auch selber draufkommen können, oder?
Die Kommentare kannst du dir sparen. Woher soll ich wissen wie du deine seltsamen Beispiele interpretierst?
-
---