Curahee Q
Legacy Member
Beste 9livers
De this in C++ is een pointer naar zichzelf, in java is this een referentie naar zichzelf. Wat is eigenlijk het verschil tussen beide?
Als ik in java programmeer zet ik voor elke membervariabele het woordje this.
Ook handig wanneer de parameter in de constructor (of in een methode) dezelfde naam draagt als een membervariabele. Ook zie ik dan meteen in een grotere methode wat mijn membervariabele zijn en wat lokale variabele zijn.
Nu wordt dit bij ons op school ook effectief vermeld in de cursus dat als ze dezelfde naam dragen je toch onderscheidt kunt maken tussen member en localvariabele. Echter wordt dit in C++ niet aangeleerd terwijl het toch gaat.
Beste 9livers
De this in C++ is een pointer naar zichzelf, in java is this een referentie naar zichzelf. Wat is eigenlijk het verschil tussen beide?
Als ik in java programmeer zet ik voor elke membervariabele het woordje this.
Hier is er echter geen reden tot verwarring omdat ze een ander naam dragen. Als ze dezelfde naam dragen gaat het ook nog.
Echter leren ze het bij ons aan als volgt
Nu ben ik daar zelf een beetje tegen omdat volgens conventies een naam enkel mag beginnen en eindigen met een letter dus doe ik het altijd als volgt.
Ik laat membervariabele beginnen met een m_ zodat ik ook in C++ het onderscheid snel kan zien.
Maar is er een reden waarom ze in Java wel this gebruiken en in C++ niet? Ook op internet kom ik het nauwelijks tegen.
Alvast bedankt
De this in C++ is een pointer naar zichzelf, in java is this een referentie naar zichzelf. Wat is eigenlijk het verschil tussen beide?
Als ik in java programmeer zet ik voor elke membervariabele het woordje this.
Code:
public class Foo {
private String foo;
public Foo(String bar) {
this.foo = bar;
}
}
Ook handig wanneer de parameter in de constructor (of in een methode) dezelfde naam draagt als een membervariabele. Ook zie ik dan meteen in een grotere methode wat mijn membervariabele zijn en wat lokale variabele zijn.
Nu wordt dit bij ons op school ook effectief vermeld in de cursus dat als ze dezelfde naam dragen je toch onderscheidt kunt maken tussen member en localvariabele. Echter wordt dit in C++ niet aangeleerd terwijl het toch gaat.
Beste 9livers
De this in C++ is een pointer naar zichzelf, in java is this een referentie naar zichzelf. Wat is eigenlijk het verschil tussen beide?
Als ik in java programmeer zet ik voor elke membervariabele het woordje this.
Code:
#include <string>
class Foo {
private:
string foo;
public:
Foo(string bar) {
this->foo = bar;
}
};
Code:
#include <string>
class Foo {
private:
string bar
public:
Foo(string bar) {
this->bar = bar;
}
};
Code:
#include <string>
class Foo {
private:
string bar;
public:
Foo(string bar_) {
bar = bar_;
}
};
Code:
#include <string>
class Foo {
private:
string m_bar;
public:
Foo(string bar) {
m_bar = bar;
}
};
Maar is er een reden waarom ze in Java wel this gebruiken en in C++ niet? Ook op internet kom ik het nauwelijks tegen.
Alvast bedankt
