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

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

1

05.12.2011, 14:53

while (... (int)...) Was bedeutet das eingeklammerte int?

Halli Hallo,
Ich hab mal eine Frage zu folgendem Codeabschnitt:

else if (next >= (int) model.size())

mir geht es um das (int)

Was bringt es, wenn ich es einklammer? Ich hätte auch gerne die SuFu benutzt, aber ich weiß nicht, wie sowas heißt ^^

Gruß,
Luca

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

05.12.2011, 14:56

Das ist eine Typumwandling (type cast). Der Wert rechts davon wird in den Typ int umgewandelt. (int) ist der C-Stil, in C++ solltest du besser die C++ Casts (static_cast, dynamic_cast, const_cast, reinterpret_cast) oder einen function style cast verwenden.

3

05.12.2011, 15:03

Handelt es sich denn um C++? Ich habs nirgendwo gelesen, kann aber auch sein das ich blind bin. Und wenn es sich zum Beispiel um Java handelt, dann wär es doch so richtig.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

05.12.2011, 15:11

Das stimmt natürlich, ich ging selbstverständlich davon aus, dass es sich um C++ handelt...

5

05.12.2011, 18:58

Handelt es sich denn um C++? Ich habs nirgendwo gelesen, kann aber auch sein das ich blind bin. Und wenn es sich zum Beispiel um Java handelt, dann wär es doch so richtig.

Ach komm, das ist ein Forum über 2 Einsteigerbücher über C++. Außerdem hat er ja geschrieben "falls du C++ benutzt", von daher finde ich es schon wichtig, auf die schönere C++ Version hinzuweisen.
Allerdings wären ein paar weiterführende Informationen sicherlich gut, ich hab grad auch keinen super Link, aber das hier sieht recht ok aus:
http://www.cplusplus.com/doc/tutorial/typecasting/
Lieber dumm fragen, als dumm bleiben!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

05.12.2011, 19:14

Ach komm, das ist ein Forum über 2 Einsteigerbücher über C++.

Und ich dachte das sei vorrangig ein Forum für und repräsentiert einen Teil der Hobby-Spiele-Entwicker-Szene Deutschlands, nur dass der Admin selbst auch ein Buch geschrieben hat.
Oder habe ich da was falsch verstanden?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

7

05.12.2011, 19:29

Also nur um die Bücher gehts schon lange nicht mehr. Ursprünglich war es wohl das Forum für die beiden Bücher, aber mittlerweilen ist es eher ein Forum für die allgemeine Spielprogrammierung.

Und es kommt durchaus vor, dass sich hier Leute anmelden, die das Buch nicht haben und mit Java anfangen. Der Einwand von chelterrar ist also durchaus berechtigt.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

8

06.12.2011, 07:26

Ich will ja wieder keine ellenlange Diskussion anstoßen aber: für diesen Fall sind C-Casts doch vollkommen legitim - ungeachtet dessen, dass die C++ sicherer und schöner sind, ich nutze sie auch fast ausschließlich. Wenn ich sicher weiss, dass mir ein Wert geliefert wird, der auf den Zieltyp problemlos gecastet werden kann, löst der Compiler meines Wissens eh mit einem static_cast auf. Und ich finde wenn ich viel mit float und int hin und her rechne sind die c-casts doch etwas sparsamer ;)

Ansonsten: Ganz klar die C++ Casts!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

06.12.2011, 08:29

Oh ja, gerade den letzten Satz kann ich unterstreichen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

10

06.12.2011, 09:51

Also wer in C++ programmiert, sollte auch die C++ Casts verwenden. C und C++ zu mischen gilt als unsauber und ich seh das genauso. Ich lass mich auch noch gelegentlich zu den C Casts verleiten, allerdings änder ich diese ab, bevor irgendjemand meinen Code zu Gesicht bekommt oder ich die Arbeit an einem Modul beenden möchte.

Werbeanzeige