Freigeisterhaus Foren-Übersicht
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   NutzungsbedingungenNutzungsbedingungen   BenutzergruppenBenutzergruppen   LinksLinks   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Kann hier wer C++?
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen   Drucker freundliche Ansicht    Freigeisterhaus Foren-Übersicht -> DAU's Paradise
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DieNeueMitte
Ohne eigene Schuld umlautfrei



Anmeldungsdatum: 14.06.2007
Beiträge: 850
Wohnort: Southampton

Beitrag(#897082) Verfasst am: 30.12.2007, 22:51    Titel: Kann hier wer C++? Antworten mit Zitat

Ich versuche mich gerade in OpenGL einzuarbeiten und bei einem Beispielprogramm sehe ich nach den Definitionen:
Code:
int idx = 0;
GLushort* indexPtr = _indices; //GLushort ist das selbe wie short

in einer Schleife diese Anweisung:
Code:

*indexPtr++ = idx++;


Was (zum fliegenden Spaghettimonster) passiert hier?
_________________
Lieber ständig übermüdet als ständig überwacht!

Center or Centrist: Your own political position, regardless of where you are outside the fora. This position is, of course, the voice of sweet reason and compromise.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Algol
Katholik, saugverwirrte schleichende Scharia



Anmeldungsdatum: 22.06.2006
Beiträge: 4797
Wohnort: Berlin

Beitrag(#897090) Verfasst am: 30.12.2007, 22:57    Titel: Antworten mit Zitat

Du zählst einen Speicherpointer um eins hoch und mit ihm eine IntegerVariable?
Sieht seltsam aus.

Ist schon ewig her ...
_________________
Leben kann tödlich sein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
pyrrhon
registrierter User



Anmeldungsdatum: 22.05.2004
Beiträge: 8770

Beitrag(#897100) Verfasst am: 30.12.2007, 23:09    Titel: Antworten mit Zitat

Das ist doch schön an C++: Man kann in einer knappen Anweisung allerhand machen mit Nebeneffekten usw. und niemand kennt sich aus, nicht einmal selber, wenn man sich den Code ein Jahr später ansieht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#897108) Verfasst am: 30.12.2007, 23:18    Titel: Re: Kann hier wer C++? Antworten mit Zitat

Code:
int idx = 0;
GLushort* indexPtr = _indices; //GLushort ist das selbe wie short

[...]

*indexPtr++ = idx++;

Der Operator * dereferenziert eine Zeigervariable und erlaubt den direkten Zugriff auf die Adresse, auf die der Zeiger zeigt. Der Operator ++ incrementiert eine Variable, wobei die Bedeutung dieser Operation vom Typ der Variable abhängt: ein Integer wird um 1 erhöht, die Adresse in einer Zeigervariable wird um die Größe des Datentyps, auf den der Zeiger zeigt, erhöht. Wenn der Incrementoperator hinter der Variable steht, wird der Ausdruck zuerst ausgewertet und anschließend die Variable incrementiert. Wenn der Incrementoperator vor der Variable steht, wird die Variable vor der Auswertung incrementiert.

Hier wird also zuerst die Zuweisung ausgeführt, das heißt der Wert von idx wird an die Adresse kopiert, auf die indexPtr zeigt.

Erst dannach werden beide Variablen incrementiert, anschließend hat idx einen um 1 höheren Wert und indexPtr zeigt auf eine sizeof(GLushort) höhere Adresse.

Letztlich wird im Speicher beginnend bei Adresse _indices ein Array von GLushort mit einer aufsteigenden Folge von Werten erzeugt.

Ein paar andere, ausführlichere und vielleicht leichter verständlichere Schreibweisen wären:

Code:
*indexPtr = idx;
indexPtr = indexPtr + 1;
idx = idx + 1;
Code:
*indexPtr = idx;
indexPtr += 1;
idx += 1;
Code:
*indexPtr = idx;
indexPtr++;
idx++;
Code:
*indexPtr = idx;
++indexPtr;
++idx;

Nicht äquivalent wären hingegen folgende Ausdrücke:

Code:
*++indexPtr = ++idx;
Code:
*indexPtr++ = ++idx;
Code:
*indexPtr++ = idx++;

_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#897116) Verfasst am: 30.12.2007, 23:30    Titel: Antworten mit Zitat

pyrrhon hat folgendes geschrieben:
Das ist doch schön an C++: Man kann in einer knappen Anweisung allerhand machen mit Nebeneffekten usw. und niemand kennt sich aus, nicht einmal selber, wenn man sich den Code ein Jahr später ansieht.

Damit hast Du zwar prinzipiell recht, aber eine einfacge Zuweisung + Postincrement ist dafür kein geeignetes Beispiel. Das ist vielmehr eine absolute Standardformulierung. Wer die nicht auf Anhieb auch in fremdem Code versteht, kann lediglich kein C++. zwinkern
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DieNeueMitte
Ohne eigene Schuld umlautfrei



Anmeldungsdatum: 14.06.2007
Beiträge: 850
Wohnort: Southampton

Beitrag(#897117) Verfasst am: 30.12.2007, 23:31    Titel: Antworten mit Zitat

Danke! Brett vom Kopf nehmen Mein Held
_________________
Lieber ständig übermüdet als ständig überwacht!

Center or Centrist: Your own political position, regardless of where you are outside the fora. This position is, of course, the voice of sweet reason and compromise.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Backside
NGC 2997



Anmeldungsdatum: 17.07.2003
Beiträge: 755
Wohnort: Sirius

Beitrag(#897122) Verfasst am: 30.12.2007, 23:37    Titel: Antworten mit Zitat

Ach ja, Pointer ... ich liebe sie zornig

Aber hier kommt es eigentlich darauf an, was _indices genau sein soll.
Wenn _indices ein Array ist, dann macht die Anweisung:
Code:
*indexPtr++ = idx++;

quasi nichts anderes wie den einzelnen Arrayelementen Werte zuzuweisen und zwar von 0 bis n.

Ich hab mal folgendes Beispielprogramm geschrieben:
Code:
#include <iostream>
#include <stdlib>

using namespace std;

int main(int argc, char *argv[])
{
 
  int idx = 0;
  int _indices[10];
  int *indexPtr = _indices;
 
  for(int i=0; i < 10; i++) {
    *indexPtr++ = idx++;
    printf("%i: %i\n",i,_indices[i]);
  }
 
  system("PAUSE");   
  return 0;
}


Ausgabe:
Code:
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9


Wenn _indices ein Array ist (und das müsste es sein), dann zeigt indexPtr zunächst auf die Adresse des ersten Elements von _indices.
Durch *indexPtr wird auf den Inhalt bzw. den Wert dieses Arrayelements zugegriffen und auf den Wert von idx gesetzt, der danach ja wegen dem ++ um 1 erhöht wird.
Genauso wird *indexPtr durch das ++ um 1 erhöht (nach der Zuweisung), wodurch der Pointer dann auf das nächste Arrayelement zeigt.
Interessanterweise bezieht sich das ++ hier beim *indexPtr++ nur auf indexPtr und nicht auf *indexPtr. Soll heißen: Die Adresse auf die indexPtr zeigt wird inkrementiert und nicht der Inhalt auf den gezeigt wird. Vermutlich eine Operator-Prioritäts Geschichte.
Falls dir das alles nicht so klar ist, dann les dir unbedingt den Zeiger-Schmarrn nochmal durch und kleb dir Notizen an den Bildschirm zwinkern
Glaub mir, man wird sonst wahnsinnig mit dem Zeug, vor allem weil * in manchen Kontexten nicht immer "Zeiger" bedeutet.
_________________
Atheist = Realist
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
lemonstar
registrierter User



Anmeldungsdatum: 17.07.2003
Beiträge: 1004

Beitrag(#897133) Verfasst am: 30.12.2007, 23:49    Titel: Re: Kann hier wer C++? Antworten mit Zitat

kolja hat folgendes geschrieben:

Nicht äquivalent wären hingegen folgende Ausdrücke:

Code:
*++indexPtr = ++idx;
Code:
*indexPtr++ = ++idx;
Code:
*indexPtr++ = idx++;

Ist die dritte Variante nicht der Orginalausdruck?
_________________

eindrucksvolles
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Gustav Aermel
dauerhaft gesperrt



Anmeldungsdatum: 05.04.2007
Beiträge: 1811

Beitrag(#897137) Verfasst am: 30.12.2007, 23:53    Titel: Antworten mit Zitat

"Kann hier wer C++?"

Jo, versuchs mir gerade abzugewöhnen.

Wo ist die Flasche?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ragmaanir
Fieser Necessitator



Anmeldungsdatum: 12.06.2005
Beiträge: 833
Wohnort: Hamburg

Beitrag(#897142) Verfasst am: 31.12.2007, 00:00    Titel: Antworten mit Zitat

In C++ habe ich früher mal programmiert.

Hm, dieser (imho verständlichere) Ausdruck müsste doch auch äquivalent sein, oder?

Code:

indexPtr[idx] = idx++;
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Gustav Aermel
dauerhaft gesperrt



Anmeldungsdatum: 05.04.2007
Beiträge: 1811

Beitrag(#897147) Verfasst am: 31.12.2007, 00:03    Titel: Antworten mit Zitat

Ragmaanir hat folgendes geschrieben:
In C++ habe ich früher mal programmiert.

Hm, dieser (imho verständlichere) Ausdruck müsste doch auch äquivalent sein, oder?

Code:

indexPtr[idx] = idx++;


Würde spontan behaupten: Nö!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Backside
NGC 2997



Anmeldungsdatum: 17.07.2003
Beiträge: 755
Wohnort: Sirius

Beitrag(#897149) Verfasst am: 31.12.2007, 00:05    Titel: Antworten mit Zitat

Jop, wobei man sich indexPtr sowieso sparen und schreiben könnte:
Code:
_indices[idx] = idx++;

_________________
Atheist = Realist
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Backside
NGC 2997



Anmeldungsdatum: 17.07.2003
Beiträge: 755
Wohnort: Sirius

Beitrag(#897151) Verfasst am: 31.12.2007, 00:06    Titel: Antworten mit Zitat

Sharif hat folgendes geschrieben:

Würde spontan behaupten: Nö!

Also bei meinem Beispielprog funktionierts zumindest.
Ach ... c++ ist schon ein schöner scheiß Böse
Ich weiß schon warum ich so lange bei Basic geblieben bin Ich liebe es...
_________________
Atheist = Realist
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Critic
oberflächlich



Anmeldungsdatum: 22.07.2003
Beiträge: 16357
Wohnort: Arena of Air

Beitrag(#897152) Verfasst am: 31.12.2007, 00:07    Titel: Antworten mit Zitat

Ragmaanir hat folgendes geschrieben:
In C++ habe ich früher mal programmiert.

Hm, dieser (imho verständlichere) Ausdruck müsste doch auch äquivalent sein, oder?

Code:

indexPtr[idx] = idx++;


Deswegen habe ich auch spontan gedacht: Der Zugriff über die Pointer mag vielleicht gewählt werden, wenn man damit schneller arbeiten kann. Wobei man aber damit alles mögliche kaputtschreiben kann. Man nehme etwa an, der Programmierer vergißt ein Postinkrement und überschreibt sich damit etwas ganz Anderes.
_________________
"Die Pentagon-Gang wird in der Liste der Terrorgruppen geführt"

Dann bin ich halt bekloppt. Mit den Augen rollen

"Wahrheit läßt sich nicht zeigen, nur erfinden." (Max Frisch)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DieNeueMitte
Ohne eigene Schuld umlautfrei



Anmeldungsdatum: 14.06.2007
Beiträge: 850
Wohnort: Southampton

Beitrag(#897153) Verfasst am: 31.12.2007, 00:07    Titel: Antworten mit Zitat

Der Pointer wird nachher für bestimmte Funktionsaufrufe verwendet... so wie es aussieht zumindestens...
_________________
Lieber ständig übermüdet als ständig überwacht!

Center or Centrist: Your own political position, regardless of where you are outside the fora. This position is, of course, the voice of sweet reason and compromise.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
pyrrhon
registrierter User



Anmeldungsdatum: 22.05.2004
Beiträge: 8770

Beitrag(#897159) Verfasst am: 31.12.2007, 00:10    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:
Das ist vielmehr eine absolute Standardformulierung.

Ich weiß. Solche Standardformulierungen sind dafür mitverantwortlich, dass so viele Programme so schlecht sind.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Backside
NGC 2997



Anmeldungsdatum: 17.07.2003
Beiträge: 755
Wohnort: Sirius

Beitrag(#897160) Verfasst am: 31.12.2007, 00:10    Titel: Antworten mit Zitat

Syku hat folgendes geschrieben:
Der Pointer wird nachher für bestimmte Funktionsaufrufe verwendet... so wie es aussieht zumindestens...

Wahrscheinlich wird er vorher noch mit Adressen von anderen Variablen oder Arrays überschrieben Lachen
_________________
Atheist = Realist
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Gustav Aermel
dauerhaft gesperrt



Anmeldungsdatum: 05.04.2007
Beiträge: 1811

Beitrag(#897177) Verfasst am: 31.12.2007, 00:26    Titel: Antworten mit Zitat

War wohl doch nichts mit meiner Spontanität.


Ich geh jetzt am Besten ins Bett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#897183) Verfasst am: 31.12.2007, 00:29    Titel: Antworten mit Zitat

Backside hat folgendes geschrieben:
Aber hier kommt es eigentlich darauf an, was _indices genau sein soll.

Nein, der Effekt des Ausdrucks in der Schleife hängt nur vom Typ von indexPtr an. _indicies könnte z.B. ein Zeiger auf void sein, der von malloc() geliefert wurde.

lemonstar hat folgendes geschrieben:
Ist die dritte Variante nicht der Orginalausdruck?

Äh ja, mist, ich meinte natürlich:
Code:
*++indexPtr = idx++;

_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#897194) Verfasst am: 31.12.2007, 00:37    Titel: Antworten mit Zitat

Ragmaanir hat folgendes geschrieben:
Hm, dieser (imho verständlichere) Ausdruck müsste doch auch äquivalent sein, oder?
Code:
indexPtr[idx] = idx++;

Der Ausdruck auf der rechten Seite des Zuweisungsoperators wird komplett ausgewertet (inclusive Postincrement!), bevor der Ausdruck auf der linken Seite ausgewertet wird und die Zuweisung stattfinden kann. Eine Zuweisung auf indexPtr[0] fände niemals statt, auch wenn idx bei 0 startet.
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Critic
oberflächlich



Anmeldungsdatum: 22.07.2003
Beiträge: 16357
Wohnort: Arena of Air

Beitrag(#897196) Verfasst am: 31.12.2007, 00:37    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:
Backside hat folgendes geschrieben:
Aber hier kommt es eigentlich darauf an, was _indices genau sein soll.

Nein, der Effekt des Ausdrucks in der Schleife hängt nur vom Typ von indexPtr an. _indicies könnte z.B. ein Zeiger auf void sein, der von malloc() geliefert wurde.

lemonstar hat folgendes geschrieben:
Ist die dritte Variante nicht der Orginalausdruck?

Äh ja, mist, ich meinte natürlich:
Code:
*++indexPtr = idx++;


Lachen Und dann finde mal solche Fehler in einem längeren Stück Code.
_________________
"Die Pentagon-Gang wird in der Liste der Terrorgruppen geführt"

Dann bin ich halt bekloppt. Mit den Augen rollen

"Wahrheit läßt sich nicht zeigen, nur erfinden." (Max Frisch)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
lemonstar
registrierter User



Anmeldungsdatum: 17.07.2003
Beiträge: 1004

Beitrag(#897563) Verfasst am: 31.12.2007, 13:27    Titel: Antworten mit Zitat

pyrrhon hat folgendes geschrieben:
kolja hat folgendes geschrieben:
Das ist vielmehr eine absolute Standardformulierung.

Ich weiß. Solche Standardformulierungen sind dafür mitverantwortlich, dass so viele Programme so schlecht sind.
muede
_________________

eindrucksvolles
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
phoenix64
Entkommen.



Anmeldungsdatum: 24.09.2006
Beiträge: 203
Wohnort: Brazil

Beitrag(#900581) Verfasst am: 04.01.2008, 04:31    Titel: Antworten mit Zitat

Das liebe ich an C(++). 3 Codezeilen können einen Riesenthread auslösen.
Sollen wir jetzt noch über Klammersetzung diskutieren? Duell
_________________
"If God exists, I hope he has a good excuse" - Woody Allen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#900755) Verfasst am: 04.01.2008, 12:52    Titel: Antworten mit Zitat

Super Idee! Die einen Block markierenden geschweiften Klammern gehören in eine eigene Zeile:
Code:
if(a)
{
   do_something();
}
else
{
  do_whatever();
}

_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
lemonstar
registrierter User



Anmeldungsdatum: 17.07.2003
Beiträge: 1004

Beitrag(#900759) Verfasst am: 04.01.2008, 12:54    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:
Super Idee! Die einen Block markierenden geschweiften Klammern gehören in eine eigene Zeile:

Nie im Leben!
So gehört sich das:
Code:
if(a) {
   do_something();
} else {
  do_whatever();
}

_________________

eindrucksvolles
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
lemonstar
registrierter User



Anmeldungsdatum: 17.07.2003
Beiträge: 1004

Beitrag(#900779) Verfasst am: 04.01.2008, 13:10    Titel: Antworten mit Zitat

Kann mir jemand diese Abbruchbedingung erklären?

Code:
int i;

main(){
   for(; i["]<i;++i){--i;}"]; read('-'-'-',i+++"hell\o, world!\n",'/'/'/'));
}
   
read(j,i,p){
   write(j/p+p,i---j,i/i);
}

_________________

eindrucksvolles
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#900788) Verfasst am: 04.01.2008, 13:17    Titel: Antworten mit Zitat

Das ist doch eine der ersten Einreichungen für den IOCCC gewesen?

Gefunden, es ist der Eintrag von "anonymous" im Jahre 1984:

-> http://www.de.ioccc.org/years.html#1984
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Yamato
Teeist



Anmeldungsdatum: 21.08.2004
Beiträge: 4548
Wohnort: Singapore

Beitrag(#900814) Verfasst am: 04.01.2008, 13:38    Titel: Antworten mit Zitat

Ach wird das jetzt ein Unverständliche-C++-Programme-Sammelthread?
Ich wollt schon immer mal wissen, wie das da funktioniert:
Code:
#include <iostream>
int a=10000,b,c=2800,d,e,f[2801],g;
main(){for(;b-c;)f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}

noc
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
phoenix64
Entkommen.



Anmeldungsdatum: 24.09.2006
Beiträge: 203
Wohnort: Brazil

Beitrag(#900824) Verfasst am: 04.01.2008, 13:49    Titel: Antworten mit Zitat

Klammern: Lemonstar hat Recht, Kolja hat Unrecht.

Code:
int i;

main(){
   for(; i["]<i;++i){--i;}"]; read('-'-'-',i+++"hell\o, world!\n",'/'/'/'));
}
   
read(j,i,p){
   write(j/p+p,i---j,i/i);
}


Womit zum Henker lässt sich sowas kompilieren? Vermutlich braucht man zum Code von 1984 auch den passenden Compiler von 1984.
Und die Abbruchbedingung verstehe ich nicht ansatzweise...
Eigentlich müsste "]<i;++i){--i;}" einfach nur einen Zeiger auf einen statischen String ergeben. Der wiederum wird als Index für i benutzt... aber das ist doch gar kein Array?!
_________________
"If God exists, I hope he has a good excuse" - Woody Allen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
lemonstar
registrierter User



Anmeldungsdatum: 17.07.2003
Beiträge: 1004

Beitrag(#900828) Verfasst am: 04.01.2008, 13:52    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:
Das ist doch eine der ersten Einreichungen für den IOCCC gewesen?
Darauf hätte ich die Antwort auch gewusst Mr. Green
_________________

eindrucksvolles
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen   Drucker freundliche Ansicht    Freigeisterhaus Foren-Übersicht -> DAU's Paradise Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Impressum & Datenschutz


Powered by phpBB © 2001, 2005 phpBB Group