Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Inc(i) das gleiche wie i := i + 1 ?
StrikeLucky - Mo 21.12.09 12:01
Titel: Inc(i) das gleiche wie i := i + 1 ?
Hallo,
ich würde gerne wissen wo der Unterschied zwischen
Delphi-Quelltext
1: 2: 3: 4: 5:
| Inc(i);
i := i + 1; |
liegt bzw. welche Variante Vorteile und Nachteile hat.
Danke
Narses - Mo 21.12.09 12:08
Moin und :welcome: im Forum!
AFAIK gibt´s da keinen Unterschied, Inc() dürfte leicht schneller sein. ;)
cu
Narses
BenBE - Mo 21.12.09 12:49
@Narses: Doch, es gibt einen:
Inc(Ptr); inkrementiert nicht um eines, sondern basierend auf dem C-Verhalten (Also Länge des referenzierten Datentyps). Ptr := Ptr+1; ist unter Delphi dagegen nicht erlaubt (bzw. dürfte recht bizarres Verhalten zeigen).
Für Ordinaltypen ist das Verhalten identisch und erzeugt AFAIR sogar den gleichen ASM-Source.
Narses - Mo 21.12.09 12:59
Moin!
BenBE hat folgendes geschrieben : |
@Narses: Doch, es gibt einen:
Inc(Ptr); inkrementiert nicht um eines |
Ist schon klar, da er aber mit "i" wohl einen Integer meint, habe ich das mal wegoptimiert. ;) Wenn man Inc() auf Pointer anwendet, fragt man nicht mehr nach dem Unterschied, dann weiß man das... :zwinker:
cu
Narses
BenBE - Mo 21.12.09 13:04
Nagut ... dann erwähn ich halt mal noch, dass Inc auch einen zweiten Parameter hat ... :mrgreen:
Wofür der ist, dürfte man sich ja vorstellen können ;-)
Narses - Mo 21.12.09 13:08
OK, du hast gewonnen und ich das letzte Wort. :mrgreen: Deal? :beer: (rhetorische Frage)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!