Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

02.03.2006, 14:41

Frage zu: "Dynamische Anzahl von Instanzen"

Hi Leute,
ich hab vor ein paar Wochen mit dem Programmieren angefangen (C++ für Spieleprogrammierer). Und nun hab ich eine Frage zu den Dynamischen Instanzen in Kapitel 7.7 (Listing 7.9). Da werden die folgendermaßen erstellt:

C-/C++-Quelltext

1
 pSpielerliste = new CSpieler [AnzahlSpieler]; 


Nun erstellt "...[AnzahlSpieler] ein eindimensionales Array von pSpielerliste und der dazugehörigen neuen Instanz von CSpieler, oder? Und könnte man dies auch noch auf eine andere Art und Weise realisieren (z.b. mit einer for-Schleife)??

Danke schon mal im Vorraus

Stupidus

riCo

Treue Seele

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

2

02.03.2006, 15:22

Ja, du könntest anstatt new malloc verwenden. ;-) Nein im Ernst, warum willst du das anders erstellen? :)
Wir leben alle unter dem Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.

Anonymous

unregistriert

3

02.03.2006, 19:13

meine Eigentliche Frage war aber, ob diese Funktion mehrere "kopien" oder mehr Zeiger vom Typ pSpielerliste erstellt, da man ja später mit pSpielerliste, also wie auf ein Array, auf den Wert zugreift.

Also was ich meine:
pSpielerliste[1] = bla
pSpielerliste[2] = blupp
...
also ob es dann mehrere pSpielerlisten gibt

4

02.03.2006, 19:41

Du hast eine Instanz, diese ist eben ein Array. Auf dieses greifst du per Zeiger zu, also hast du eine Instanz und einen Zeiger. Jedes Feld im Array ist praktisch eine Instanz, aber die hast du alle zusammengefasst in eine Array-Instanz.

Ich schätze mal, dass diese Arrayinstanz anfangs etwas verwirrend sein kann, war bei mir auch so, gerade, wenn man dann nicht mehr problemlos den Punktoperator verwenden kann, aber mittlerweile geht's mehr oder weniger... ;)
Viva C++

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

02.03.2006, 19:46

So ein Quatsch!
Man hat so viele Instanzen wie das Array Elemente hat.
Und jede dieser Instanzen existiert für sich.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Test
{
public:
    Test()
    {
        cout << "Instanz erzeugt" << endl;
    }

    ~Test()
    {
        cout << "Instanz gelöscht" << endl;
    }
};

int main()
{
    Test* t = new Test[5];
    delete[] t;
    return 0;
}


Ausgabe:

Quellcode

1
2
3
4
5
6
7
8
9
10
Instanz erzeugt
Instanz erzeugt
Instanz erzeugt
Instanz erzeugt
Instanz erzeugt
Instanz gelöscht
Instanz gelöscht
Instanz gelöscht
Instanz gelöscht
Instanz gelöscht

Anonymous

unregistriert

6

02.03.2006, 19:48

Ich hoffe diesmal bekommt jemand anders eine PM, dass er nicht so "unangenehm rüber kommen" soll, als ich ^^ vorallem im "heiligem" Bücherforum

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

02.03.2006, 19:53

Ist Dir (auch) langweilig?

Anonymous

unregistriert

8

02.03.2006, 19:54

David Scherfgen
Jo, deshalb führe ich Entwicklungsstudien mit meinem ASP und MSSQL2005 Projekt durch, über die einzelnen Member von SP.de. Und da gibt es schon einige, die etwas von ihrem "Charisma" verlieren und mehr nach "Patrick"-Stil handeln. ;)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

02.03.2006, 19:55

Das soll wohl ein Kompliment sein ;)

Anonymous

unregistriert

10

02.03.2006, 19:57

David Scherfgen
Wenn Du "Patrick"-Stil mit gutem Benehmen gleichsetzt: ja.

Aber wenn es nach der Mehrheit der Mods geht, ist "Patrick"-Stil: "Viel KnowHow und ein Memberumgang wie ein Diktator der Massenvernichtung von Noobs bevorzugt".

Kurz: Entscheide selbst ;)

Werbeanzeige