[solved] Verwenden von this für Daten- und Fkts.member?

Dein Thema passt einfach in kein Forum? Dann probiers mal hier.
Antworten
MADsCIENTIST

[solved] Verwenden von this für Daten- und Fkts.member?

Beitrag von MADsCIENTIST »

Hallo,

ich habe nur eine kleine codespezifische Designfrage. Wenn ich eine Funktion schreibe und
ich darin Funktions- und Datenmember anspreche, verwende ich immer this, wenn die
Anzahl der Member einer Klasse ziemlich groß ist, um das ersichtlich zu machen.

Ist das schlimm? (nicht nur aus Platzgründen) bzw. wie macht ihr das?

Bedanke mich für sinnvolle Beiträge schon mal im Voraus. :wink:
Zuletzt geändert von MADsCIENTIST am 23. Juli 2013 23:00, insgesamt 1-mal geändert.
veeman
Beiträge: 277
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Verwenden von this für Daten- und Fkts.member?

Beitrag von veeman »

Das ist relativ irrelevant. Eineerseit sieht man direkt dass es ein Element der Klasse ist, anderer seit ist es relativ viel Tipparbeit.
Andererseits wenn es keine anderen Variablen mit dem selbem Namen gibt interpretiert der Compiler das "immer" gleich.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Re: Verwenden von this für Daten- und Fkts.member?

Beitrag von RHBaum »

Ich find es ist eine Unsitte :-) zumindest in c++

wenn

mVariable = 0;
und
this->mVariable = 0;
einen Unterschied machen, hasst du sowieso ein Problem :-)
Kollidieren sollte sowas soweiso nur, wenn mVariable (auch) global ist ... aua,

Bei funktionen isses aehnliches kaliber. Wobei man unter c++ sowieso nicht soviele globale funktionen haben sollte ... und dann auch namespaces nutzen sollte.
Anzahl der Member einer Klasse ziemlich groß ist, um das ersichtlich zu machen.
Was für eine Grössenordnung ?
"Normal" sind so fette Megaklassen kein guter Stil. Besser kleinere ...
Eine Klasse sollte auf wenige aufgaben spzialisiert sein. Wobei wenige schon so um die 1 rum bedeuten :-)

Ich verwend this fast auschliesslich nur, um zeiger von mir selbst(als Klasse) an andere Klassen / funktionen weiterzugeben.

Ciao ...
Antworten