Warum überhaupt pointer?
-
Hacker schrieb:
Referenzen können ihr referenziertes Objekt nicht ändern (also, welches Objekt sie referenzieren). Pointer können es. Pointer unter anderem da, wo der Pointee gewechselt werden kann.
Hä?
Hallo saladin,
eigentlich hast du es doch schon ganz gut erkannt. Nackte Zeiger brauchst du in C++ eher selten, vielleicht mal einen Zeiger auf eine Zeicheketteconst char* p="hallo";, aber das wars dann auch schon. Wenn du wirklich mal Zeiger benötigen solltest, nimmst du sog.Smartpointer. Aber wie gesagt, als Beginner brauchst du Zeiger praktisch nie.
-
Kann mir jemand veraten, warum ich den überhaupt über einen Pointer auf eine Variable zugreifen sollte?
Objektspeicher muss ja irgendwie angesprochen werden. Dazu werden Pointer verwendet. Das versteckt Java alles fuer dich.
laut dem was ich gelesen habe, ein pointer 4 byte auf deinem PC wohingegen.
Und bei 4 GByte RAM fallen 4 Byte nicht ins Gewicht.
Ich sehe jedoch keine Vorteile dieses Konstruktes
Nach so kurzer Zeit hast du dir schon eine Meinung gebildet, obwohl du keine Ahnung von C oder C++ hast. ...
Wenn du wirklich mal Zeiger benötigen solltest, nimmst du sog. Smartpointer.
Jaja, das Allheilmittel. Amen. Ich verwende immernoch "nackte" Zeiger, nur selten "smarte" Zeiger (1x erst).
-
ObjectClass objReference = new ObjectClass(); |..Pointer..|->|.....Objekt.....|Ohne Worte!
-
Smartpointer - was ist das?
Mein Compiler kennt nur Stupidpointer.
-
knivil schrieb:
Wenn du wirklich mal Zeiger benötigen solltest, nimmst du sog. Smartpointer.
Jaja, das Allheilmittel. Amen. Ich verwende immernoch "nackte" Zeiger, nur selten "smarte" Zeiger (1x erst).
Dann gehen die Meinungen wohl auseinander. :p
EOP schrieb:
Smartpointer - was ist das?
Mein Compiler kennt nur Stupidpointer.
-
Gugelmoser schrieb:
EOP schrieb:
Smartpointer - was ist das?
Mein Compiler kennt nur Stupidpointer.
Findest du den Witz nicht lustig, oder verstehst du ihn nicht?
Z
Gugelmoser schrieb:
Hacker schrieb:
Referenzen können ihr referenziertes Objekt nicht ändern (also, welches Objekt sie referenzieren). Pointer können es. Pointer unter anderem da, wo der Pointee gewechselt werden kann.
Hä?
-.-
Du musst einer Referenz das Objekt, das sie referenzieren soll, bei der Deklaration zuweisen und kannst es anschließend nicht mehr ändern.
Ein Pointer zeigt einfach immer auf eine Speicherzelle und kann also auch die Adresse, auf die er zeigt, ändern- sprich: Er kann den Pointee wechseln.Wegen smart-pointern: Die verwendet man doch nur bei Heap-Zeigern?
-
@Hacker: Warum bringst Du jetzt plötzlich C++ Referenzen ins Spiel? Ich sehe den Zusammenhang nicht warum Du dein Wissen über C++ Referenzen in diesem Thread bekannt gibst.
-
theta schrieb:
@Hacker: Warum bringst Du jetzt plötzlich C++ Referenzen ins Spiel? Ich sehe den Zusammenhang nicht warum Du dein Wissen über C++ Referenzen in diesem Thread bekannt gibst.
So wie ich das verstehe, denkt der TE dass er keine Zeiger braucht da Referenzen schon ausreichen.
Außerdem verstehe ich dich nicht, was soll das heißen "mein Wissen über Referenzen"? Die Logik von Referenzen und von Pointern (und deren Unterschiede) sind allgemein bekannt
-
Hacker schrieb:
Gugelmoser schrieb:
EOP schrieb:
Smartpointer - was ist das?
Mein Compiler kennt nur Stupidpointer.
Findest du den Witz nicht lustig, oder verstehst du ihn nicht?
Eigentlich wollte ich nur wissen, was ihr an Smartpointern auszusetzen habt.
Hacker schrieb:
Du musst einer Referenz das Objekt, das sie referenzieren soll, bei der Deklaration zuweisen und kannst es anschließend nicht mehr ändern.
Sry, aber kommen wir langsam an deine Deutschgrenzen. :p 'Es' bezieht sich hier auf das Objekt, und natürlich kannst du 'es', noch verändern. Was du nicht ändern kannst ist 'sie', die Referenz.
Hacker schrieb:
Ein Pointer zeigt einfach immer auf eine Speicherzelle und kann also auch die Adresse, auf die er zeigt, ändern- sprich: Er kann den Pointee wechseln.
Wegen smart-pointern: Die verwendet man doch nur bei Heap-Zeigern?Asoo, ja. Aber wieso willst du Zeiger auf Objekte vom Stack?
-
Gugelmoser schrieb:
Asoo, ja. Aber wieso willst du Zeiger auf Objekte vom Stack?
Jetzt wo ich darüber nachdenke... ich bin aber sicher, dass ich das schon oft gemacht hab.
-
Wie so oft:
Die Antworten entfernen sich immer mehr vom Thema. Und zwar in eine Richtung die dem OP absolut nicht hilft oder gar seine Frage beantwortet.
-
EOP schrieb:
Wie so oft:
Die Antworten entfernen sich immer mehr vom Thema. Und zwar in eine Richtung die dem OP absolut nicht hilft oder gar seine Frage beantwortet.Ehrlich gesagt habe ich das Gefühl, dass der TE ein gutes Buch braucht, dass ihm das alles langsam und deutlich erklärt. Das hier in jedem dritten Thread Grundlagen erklärt werden müssen ist doch nicht so schön.
-
saladin schrieb:
Ich meine warum soll ich nicht einfach die Variable selbst nehmen?
Weil der Bezeichner für eine Variable dort wo du auf sie zugreifen willst eventuell nicht existiert, also musst du ein Alias für diese Variable erstellen.
void foo(int& var) { var = 5; } int main() { int i; foo(i); // i ist jetzt 5 }
-
Und wieder einmal mehr wäre bewiesen, dass Javaner keine Ahnung davon haben, wie PCs funktionieren...
-
314159265358979 schrieb:
Und wieder einmal mehr wäre bewiesen, dass Javaner keine Ahnung davon haben, wie PCs funktionieren...
schreit der, der sein MacBook mit Kurzschlüsse grillt hat.
-
Da bin ich wieder... danke für die vielen Antworten... ein gut besuchtes Forum =).... leider check Ichs immernoch nicht ganz mit diesem Pointer... ich glaub der eine von euch hat recht.. ich besorg mich mal ne anständige Literatur die mir alles langsam und deutlich erklärt =)...
-
Ich könnte jetzt natürlich anfangen zu argumentieren, dass ein MacBook kein PC ist...
Aber ich finds sehr interessant, wie du einen Zusammenhang zwischen einem kaputten Kabel und Ahnung von PCs herstellst. Wirklich sehr interessant. Du solltest anfangen, bei einer Zeitung, z.B. der Bild zu arbeiten, da wirst du bestimmt sofort genommen mit deiner Kreativität, Schwachsinn zu erfinden.
-
Beantwortet die Frage: wofür sind pointer gut und diskutiert nicht "mit C++11 kannste aber auch ... machen".
Unproduktiv sowas. Der Fragestellung nicht dienlich.
Wenn ich wisssen will wie ein Kuhschwanz aussieht, will ich nur wissen wie ein Kuhschwanz aussieht.
Aber nix über den eventuell möglichen Aufbau von Säugetieren.
-
PI:
Das tut mir sehr leid, mit dem Macbook.Ok stopp. Ich dachte, dein Macbook ist schrott ^^ wenn dein Aufladekabel schrott ist, ist mir das herzlich egal...@EOP: entspann dich, alter. Zusatzwissen ist interessant und nie schlecht

-
Rate mal, an welchem Gerät ich gerade sitze. :p