Was genau habe ich von Pointern?



  • fricky schrieb:

    Simon2 schrieb:

    hmmmm da wird's aber mit den "Enden" kompliziert....

    head und tail könnten doch referenzen auf sich selbst sein. ausserdem wissen wir ja nun, wie man eine ref. auf 0 kriegt.
    🙂

    Das würde mich jetzt mal interessieren, wie Du so ein Objekt konstruierst.... (ohne Zeiger natürlich)

    Gruß,

    Simon2.



  • Nexus schrieb:

    Was spricht eigentlich gegen Zeiger? Ich verstehe die Abneigung einiger Leute nicht ganz...

    Vorallem wenn man bedenkt dass Referenzen eigntlich das komische sind. Denn Zeiger hat ja fast jede Sprache: Java, C#, PHP, Python,... Nur Referenzen gibts fast nirgends... Insofern: Referenzen in C++ sind komisch, da es sie fast nirgendwo anders gibt, Zeiger aber trifft man überall.

    Was die Leute so verwirrt ist der *. Also rein die Syntax und das ist mit verlaub gesagt, lächerlich.



  • ich muss zu meienr schande gestehen dass ich acuh imemr noch öfters durcheinander komme wann ejzd er * dahinkommt und wann nicht...

    passiert mir öfters mald ass ich en objekt ansprechen will und dann die adresse mit 100 multipliziere xDDD



  • Simon2 schrieb:

    fricky schrieb:

    Simon2 schrieb:

    hmmmm da wird's aber mit den "Enden" kompliziert....

    head und tail könnten doch referenzen auf sich selbst sein. ausserdem wissen wir ja nun, wie man eine ref. auf 0 kriegt.
    🙂

    Das würde mich jetzt mal interessieren, wie Du so ein Objekt konstruierst.... (ohne Zeiger natürlich)

    mit 'nem array, so daß die links array-indizes sind, hab ich's schon mal gebastelt. dass es auch mit referenzen geht, war nur eine annahme von mir.
    🙂



  • NixDa schrieb:

    Was die Leute so verwirrt ist der *. Also rein die Syntax und das ist mit verlaub gesagt, lächerlich.

    Die Syntax ist in der Tat ziemlich unglücklich gewählt. Die mehrfachen Überladungen (&: Adresse, Referenz, bitweises Und - *: Zeigerdefinition, -dereferenzierung, Multiplikation) können einen vor allem am Anfang ganz schön verwirren.

    Aber auch daran kann man sich gewöhnen, wenn man einmal weiss, wie die Operatoren anzuwenden sind, hat man in der Regel keine Probleme mehr.



  • NixDa schrieb:

    Denn Zeiger hat ja fast jede Sprache: Java, C#, PHP, Python,...

    Jo, das sind alles Sprachen mit Zeigern...



  • zeiger sind doch nun wirklich nützlich. vor allem wilde zeiger. mit denen kann man wunderbar elefanten jagen. 🙂



  • Tachyon schrieb:

    NixDa schrieb:

    Denn Zeiger hat ja fast jede Sprache: Java, C#, PHP, Python,...

    Jo, das sind alles Sprachen mit Zeigern...

    Ja sind sie, auch wenn sie es immer "Referenzen" nennen. Aber das ist Marketing-Blabla weil Zeiger ja böse sind...



  • fricky schrieb:

    ...dass es auch mit referenzen geht, war nur eine annahme von mir..

    ..die aber nunmal am entscheidenden Punkt falsch ist. Das Besondere an Referenzen ist eben, dass sie nicht "umhängbar" sind und das ist bei "Indizes" (genauergesagt: Bei den Variablen, die die Indexinformationen halten) und auch bei Pointern anders.

    Gruß,

    Simon2.



  • NixDa schrieb:

    Ja sind sie, auch wenn sie es immer "Referenzen" nennen. Aber das ist Marketing-Blabla weil Zeiger ja böse sind...

    Ich würde es anders sagen: Zeiger können problematisch sein (gerade wenn sie wie in C++ "ungeprüft" sind), sind aber auch in gewissen Grad nötig. Sprich: "Vermeide Zeiger wo möglich, verwende sie wo nötig".

    cu André



  • NixDa schrieb:

    Tachyon schrieb:

    NixDa schrieb:

    Denn Zeiger hat ja fast jede Sprache: Java, C#, PHP, Python,...

    Jo, das sind alles Sprachen mit Zeigern...

    Ja sind sie, auch wenn sie es immer "Referenzen" nennen. Aber das ist Marketing-Blabla weil Zeiger ja böse sind...

    Ne, das sind Referenzen. 😉



  • Tachyon schrieb:

    NixDa schrieb:

    Tachyon schrieb:

    NixDa schrieb:

    Denn Zeiger hat ja fast jede Sprache: Java, C#, PHP, Python,...

    Jo, das sind alles Sprachen mit Zeigern...

    Ja sind sie, auch wenn sie es immer "Referenzen" nennen. Aber das ist Marketing-Blabla weil Zeiger ja böse sind...

    Ne, das sind Referenzen. 😉

    .... und was sind dann "Zeiger" ?

    ... und was sind dann "C++-Referenzen" ?

    Gruß,

    Simon2.



  • Tachyon schrieb:

    Ne, das sind Referenzen. 😉

    Im C++ sinne sind es lustigerweise aber zeiger 😉

    man kann es nennen wie man will - insofern ist marketing blabla schon treffend (und die leute fallen massig drauf rein): zeiger in c++ und referenzen in java,... sind das exakt selbe konzept. ob man es nun zeiger oder referenz oder rebindable object nennen mag - es ist das selbe konzept.

    der einzige unterschied ist, dass man in c++ zeiger incrementieren und decrementieren kann - das ist idr aber nie ein problem. das problem mit zeigern ist, dass sie wild sein koennen und da hilft einen auch kein gc dagegen. aber marketingmaessig sieht das natuerlich komplett anders aus...

    c++ referenzen gibt es in der tat nirgendwo anders, zumindest nicht im mainstream bereich.



  • Shade Of Mine schrieb:

    das problem mit zeigern ist, dass sie wild sein koennen und da hilft einen auch kein gc dagegen.

    Java-"Zeiger" können nicht verwildern.



  • ThaRealMatix schrieb:

    Was genau habe ich von Pointern?

    Die Adresse und den Wert.



  • Shade Of Mine schrieb:

    c++ referenzen gibt es in der tat nirgendwo anders

    so eine tolle erfindung ist das aber auch nicht. ähnliches gibts schon lange.

    int a;
    #define A_REF a
    A_REF = ...; // <-- verändert a
    

    🙂



  • fricky schrieb:

    Shade Of Mine schrieb:

    c++ referenzen gibt es in der tat nirgendwo anders

    so eine tolle erfindung ist das aber auch nicht. ähnliches gibts schon lange.

    int a;
    #define A_REF a
    A_REF = ...; // <-- verändert a
    

    🙂

    Doch - das "Tolle" an Referenzen (ggü. Deinem Ansatz) sind z.B.

    • ihre "Sichtbarkeit für den Compiler" ... was z.B. Typsicherheit und all die anderen Folgen nach sich zieht.
    • die Gültigkeit von Referenzen auch außerhalb der Sichbarkeit der "verwiesenen Variablen"
    • ...

    Und damit sind C++-Referenzen schon etwas "Neues" und "Tolles", weil sie vernünftig das Konzept des "festen Verweises" benutzbar umsetzen.

    Gruß,

    Simon2.

    P.S.: "Getretener Quark wird breit, nicht stark" ... da helfen auch keine Smilies. Ich habe mit jedem Deiner Posts stärker den Eindruck, dass Du C++-Referenzen nicht wirklich durchschaut hast - aber einfach gerne widersprichst.



  • Simon2 schrieb:

    Ich habe mit jedem Deiner Posts stärker den Eindruck, dass Du C++-Referenzen nicht wirklich durchschaut hast - aber einfach gerne widersprichst.

    es ging mir nicht um die feinheiten. ich meinte, dass die idee, die selbe variable unter verschiedenen namen ansprechen zu können, keinen besonders brillianten geist erfordert. das bezog sich auf die aussage von shade'o'mine, der sagte: 'c++ referenzen gibt es in der tat nirgendwo anders'.
    🙂



  • Das mag sein, aber diese Analogie ist nicht Deine erste, die an der entscheidenden Stelle schräg ist ...

    Shade hat auch nirgends "Genialität" postuliert, sondern lediglich "Einzigartigkeit" (bzw. "Seltenheit") ... damit ist nicht einmal ein positives Qualitätsmerkmal verbunden (man kann auch einzigartig dämlich sein 😉 ).

    Gruß,

    Simon2.



  • ...


Anmelden zum Antworten