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

11

27.06.2006, 18:15

Zitat von »"koschka"«

Meiner Meinung ist sowas echt wurst. Wenn man optimiert sollte man zuerst an die Schleifen ran und nicht bei so nem Kleinkram anfangen. Ja ok es ist schneller, da die CPU ja erst i inkrementieren und gleich in dem Register lassen kann für die Berechnung. Aber bei dem CPU Takt und bei 2 echten Kernen ist sowas doch nun echt schnuppe - und nur was für theoretiker ;).


das stimmt wohl, aber es is doch viel cooler wenn du einen der dir dumm kommt mit deinem fachwissen in die tasche stecken kannst.

außerdem lernst du ja, falls du studierst, auch welche variablen sich überdecken wenn man sie gleich benennt obwohl man sie eben einfach anders benennen kann, als beispiel :)

12

27.06.2006, 21:02

Also im Endeffekt ist das wiklich ne Frage des Compilers:

Quellcode

1
2
3
4
5
6
7
8
9
pre:    movl 4(%bsp) %eax  // Addresse des Poniters vom Stack holen
        addl $1 (%eax)     // Wert an der Addresse inrementieren
        movl (%eax) %eax   // Wert in Register Speichern
        ret 

post:   movl 4(%bsp) %ebx   // Addresse des Poniters vom Stack holen
        movl (%ebx) %eax    // Wert in Register Speichern
        $addl $1 (%ebx)     // Wert an der Addresse inrementieren
        ret


Wenn das ungefähr so übersetzt wird, dann macht das keinen Unterschied

ext

Treue Seele

  • Private Nachricht senden

13

27.06.2006, 21:09

Dein Beispiel ist für Integer und wie oben schon gesagt macht es da keinen Unterschied weil der Compiler das Verhalten für built-ins ja kennt.
Wenn du die Operatoren überlädst, dann sind das Funktionsaufrufe.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

14

28.06.2006, 07:54

@Sk!p


Ja aber man macht im Normalfall sowas nicht. Sicher kann man auch überall i's haben die sich überlappen aber sowas wird ja extrem fehleranfällig.

Werbeanzeige