was macht "->" ?

Gast
@hans & technikus

C Buch lesen!!

@hans

ja, jede instanzierte Klasse (Objekt) hat einen so gegannten this Zeiger 
auf die Member Attribute / Funktionen.

Du kannst auch sagen (*this).Deine_Member_Variable

oder this->Deine_Member_Variable

das ist äquivalent!

Aber this pointer braucht man nur (C++), wenn man einem anderen Objekt 
den Zeiger auf sich selbst (anderes Objekt) geben möchte... aber das is 
eigentlich auch egal und tut nix zur Sache..

wie gesagt jeder der C / C++ / C# .. programmiert sollte wissen, dass

pointer_auf_struct->Member_in_struct dasselbe ist wie

variable_von_struct.Member_in_struct

ist!

Ciao
Gast
>Aber this pointer braucht man nur (C++), wenn man einem anderen Objekt
>den Zeiger auf sich selbst (anderes Objekt) geben möchte...

Und in ST ist das der ADRINST() Operator....
(Wird leider nicht von jeder SPS unterstützt)
Gast
sebastian schrieb:
> Aber this pointer braucht man nur (C++), wenn man einem anderen Objekt
> den Zeiger auf sich selbst (anderes Objekt) geben möchte... aber das is
> eigentlich auch egal und tut nix zur Sache..

Den braucht man, wenn ich mich recht entsinne, hin und wieder auch, wenn 
man seine Klassenmitglieder durch andre Variablen oder sowas verdeckt, 
was man natürlich tunlichst vermeiden sollte.
Hans schrieb:
> In C++ ist das doch ein This-Zeiger weiß nicht ob dir das was hilft, da
> ich noch nicht solang C programmier

Ein this-Zeiger heißt so, weil er this heißt ;-) und so aussieht:
1
this->hier_steht_ein_beliebiger_Member_der_Klasse_von_der_das_Objekt_instanziiert_wurde_mit_dem_man_gerade_rumnudelt

Nur weil da ein -> steht, hat das noch lange nichts mit this zu tun. Vor 
dem -> kann ja auch was völlig anderes stehen.

Sven P. schrieb:
> sebastian schrieb:
>> Aber this pointer braucht man nur (C++), wenn man einem anderen Objekt
>> den Zeiger auf sich selbst (anderes Objekt) geben möchte... aber das is
>> eigentlich auch egal und tut nix zur Sache..
>
> Den braucht man, wenn ich mich recht entsinne, hin und wieder auch, wenn
> man seine Klassenmitglieder durch andre Variablen oder sowas verdeckt,
> was man natürlich tunlichst vermeiden sollte.

Oh Mann... ich seh schon, hier sind die wahren C++ Experten am Start. 
:-)
Gast
>bedeutet also wenn ich eine Maske verknüpfe

>0 + 0 = 0
>0 + 1 = 1
>1 + 0 = 1
>1 + 1 = 0
>??

Ich kann gerade Deinem Satzbau nicht folgen. Was ist die Frage?

Wenn, dann müsste es jedenfall so heissen:

0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0

Das ^ ist in C das Zeichen für die Exklusiv-Oder Verknüpfung.
Insofern stimmt Deine Wertetabelle.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.