Zeiger oder Referenz (hat Bezug auf QT)

Alles rund um die Programmierung mit Qt
Antworten
klogg
Beiträge: 129
Registriert: 5. September 2005 17:00
Wohnort: Hann. Münden

Zeiger oder Referenz (hat Bezug auf QT)

Beitrag von klogg »

Nun ist es ja so,
dass QT immer gerne Zeiger für alles mögliche verwendet. Keine Referenzen. Auch da nicht, wo irgendwas irgendwo reingeschrieben werden soll.
(Wenn ich nur die Adresse will, hole ich natürlich keine Referenz, ist klar)

Ich wollte jetzt gerne mal die Weisen dieses Forums fragen,
ob man denn bei eigenen QT Projekten auch lieber auf Referenzen verzichtet, zwecks Konsistenz oder eben nicht, zwecks irgendwas.

z.B.

Code: Alles auswählen

//Zeiger:
QString Klasse::getQuestion(int * ID)
{
  *ID = 7;              //da es ein Zeiger ist, erst dereferenzieren
  return "Ergebnis"; //QString zurückgeben
}

Code: Alles auswählen

//Referenz:
QString Klasse::getQuestion(int & ID)
{
  ID = 7;                //da es eine Referenz ist, einfach reinschreiben
  return "Ergebnis"; //QString zurückgeben
} 
Schön wären ein paar gute Argumente für dies oder das.
Persönlichen Geschmack hab ich selber... :wink:
Außerdem könnten Anfänger sich vielleicht ein Beispiel an diesem Thread nehmen.
Wer weiß...

HENNING
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Also Referenzen nehme ich nur, wenn ich überhaupt keinen anderen Ausweg habe, also z.B. bei Plugins, wo ich einfach mehr als einen Wert unbedingt zurück brauche. Sonst überhaupt nicht.
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

FlorianBecker hat geschrieben:Also Referenzen nehme ich nur, wenn ich überhaupt keinen anderen Ausweg habe, also z.B. bei Plugins, wo ich einfach mehr als einen Wert unbedingt zurück brauche. Sonst überhaupt nicht.
Wieso das denn? *neugierigschau*

Goos
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Naja, ich bezog das natürlich auf den Post. Das ich für alle nicht Objecte auch Referenzen benutzte sollte klar sein. Weil es immer bessere Lösungen gibt, aber das liegt wohl immer daran, wie man es gelernt hat.
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Ich hab das so aufgefasst, als ginge es in dem Post um Pointer, oder Referenz uebergeben. Da bevorzugst du dann allen ernstes Pointer?

Goos
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ja, so kann man das verstehen. Aber wie gesagt, nur wenn ich keine andere Möglichkeit habe, denn meist löse ich das über einen return, eben nur wenn ich mehr als einen Wert zurück brauche nicht und das ist nur bei Plugins bei mir der Fall.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Zeiger oder Referenz (hat Bezug auf QT)

Beitrag von Christian81 »

klogg hat geschrieben:

Code: Alles auswählen

//Zeiger:
QString Klasse::getQuestion(int * ID)
{
  *ID = 7;              //da es ein Zeiger ist, erst dereferenzieren
  return "Ergebnis"; //QString zurückgeben
}
Da fehlt was - und das ist mein Grund warum ich lieber Referenzen benutze :)

Code: Alles auswählen

QString Klasse::getQuestion(int * ID)
{
  if ( ID )
    *ID = 7;            //da es ein Zeiger ist, erst dereferenzieren
  return "Ergebnis"; //QString zurückgeben
}
[/code]
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten