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

11

26.09.2008, 20:39

Dofter
Er meint ein memset auf this durchführen. Das ist böööööse!

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

12

26.09.2008, 21:17

Zitat von »"unsigned long"«

Dofter
Er meint ein memset auf this durchführen. Das ist böööööse!

Aber was genau geht in diesem Fall schief? Ich hab grob in Erinnerung dass man sich die vtable des Objekts zersemmelt. Aber das Fehlerverhalten ist echt seltsam
"Have you tried turning it off and on again?"

Dofter

Treue Seele

  • »Dofter« ist der Autor dieses Themas

Beiträge: 159

Wohnort: im wunderbaren EBERMANNSTADT

Beruf: Schüler^^

  • Private Nachricht senden

13

27.09.2008, 12:16

kruz gesagt, die Zeilen rauslöschen und alles ist in Butter?
"Wo kämen wir hin, wenn alle sagten, wo kämen wir hin, und keiner ginge,
um zu sehen, wohin wir kämen, wenn wir gingen"

Dofter

Treue Seele

  • »Dofter« ist der Autor dieses Themas

Beiträge: 159

Wohnort: im wunderbaren EBERMANNSTADT

Beruf: Schüler^^

  • Private Nachricht senden

15

27.09.2008, 12:28

ja des ist schon klar, nur in der Hinsicht, das mein Code dann "sauberer" ist. oder sollte man trotzdem im Kosntrukter allen membervarioablem einen Anfangswert zuweisen.
"Wo kämen wir hin, wenn alle sagten, wo kämen wir hin, und keiner ginge,
um zu sehen, wohin wir kämen, wenn wir gingen"

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

16

27.09.2008, 13:15

Du solltest schon allen Variablen einen Anfangswert zuweisen. Aber NIEMALS per memset! Per memset klingt zwar praktisch, bringt aber "C++ Interna" durcheinander ;) Also doch lieber so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
    GameplayConnection::GameplayConnection(Connection* connection)
        : mConnection(connection)
    {
        mCurrentRound = 0;
        mBufferDelta = 0;

        mServerConfiguration = NULL;
        mServerFinished = false;
        mServerHasEventRequest = false;
        mServerKeyframe = 0;
        mServerLastPoll = time(NULL);
    }

Dofter

Treue Seele

  • »Dofter« ist der Autor dieses Themas

Beiträge: 159

Wohnort: im wunderbaren EBERMANNSTADT

Beruf: Schüler^^

  • Private Nachricht senden

17

27.09.2008, 13:21

Danke, genau das wollte ich wissen ;)

aber einen std::vector kann ich keinen Anfangswert zuweisen, den hat er doch schon, richtig? (Deswegen damit nichts machen?)
"Wo kämen wir hin, wenn alle sagten, wo kämen wir hin, und keiner ginge,
um zu sehen, wohin wir kämen, wenn wir gingen"

18

27.09.2008, 13:54

Zitat von »"Das Gurke"«

Also doch lieber so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
    GameplayConnection::GameplayConnection(Connection* connection)
        : mConnection(connection)
    {
        mCurrentRound = 0;
        mBufferDelta = 0;

        mServerConfiguration = NULL;
        mServerFinished = false;
        mServerHasEventRequest = false;
        mServerKeyframe = 0;
        mServerLastPoll = time(NULL);
    }

Und noch viel lieber gleich alles per Initialisierungsliste:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
GameplayConnection::GameplayConnection(Connection* connection)
: mConnection(connection)
, mCurrentRound(0)
, mBufferDelta(0)
, mServerConfiguration(NULL)
, mServerFinished(false)
, mServerHasEventRequest(false)
, mServerKeyframe(0)
, mServerLastPoll(time(NULL))
{
}

Zitat von »"Dofter"«

aber einen std::vector kann ich keinen Anfangswert zuweisen, den hat er doch schon, richtig? (Deswegen damit nichts machen?)
Was meinst du mit Anfangswert? std::vector bietet einige Konstruktoren an, mit denen man z.B. schon zu Beginn mehrere Elemente des gleichen Wertes erstellen kann.

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

Dofter

Treue Seele

  • »Dofter« ist der Autor dieses Themas

Beiträge: 159

Wohnort: im wunderbaren EBERMANNSTADT

Beruf: Schüler^^

  • Private Nachricht senden

20

27.09.2008, 13:59

da die Elemente erst späater hinzugefügt werden, muss ich doch eigentlich nix machen, d.h. kein m_vObjects(vector<SObject*>()) ?
"Wo kämen wir hin, wenn alle sagten, wo kämen wir hin, und keiner ginge,
um zu sehen, wohin wir kämen, wenn wir gingen"

Werbeanzeige