AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Pointer schneller als Verweis bei Paramterübergabe?
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer schneller als Verweis bei Paramterübergabe?

Ein Thema von Icemanemp · begonnen am 23. Mär 2005 · letzter Beitrag vom 24. Mär 2005
Antwort Antwort
Icemanemp

Registriert seit: 28. Mai 2004
Ort: immer dem Pfeil nach --->
26 Beiträge
 
Delphi 5 Enterprise
 
#1

Pointer schneller als Verweis bei Paramterübergabe?

  Alt 23. Mär 2005, 08:44
Hallo,

einige Delphi-Cracks hier kennen sich ja vorzüglich mit der Interna von Delphi aus und könnten mir vielleicht sagen ob es einen Geschwindigkeitsunterschied gibt, wenn man anstatt mit Verweis auf Objekten oder Variablen in der Parameterdeklaration/-übergabe nur mit (typisierten/untypisierten) Pointern arbeitet? Oder arbeitet Delphi intern wirklich nur mit Pointer und lässt dem Programmierer nach aussen die einfach Handhabung mit Objekt-/Variableninstanznamen...

Das die Handhabung in Delphi mit Objekten in der IDE sehr simpel ist und intern nur Pointer benutzen werden ist mir klar, aber gibt es Unterschiede zwischen der Behandlung von Pointer und Objektverweisen?

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Pointer schneller als Verweis bei Paramterübergabe?

  Alt 23. Mär 2005, 09:20
Wenn Du Objekte als Parameter übergibst, so wird für das Objekt auch nur der Pointer übergeben.
Anders sieht es bei Strukturen oder Strings/WideStrings aus. Dort bewirkt die Angabe const eine erhebliche Beschleunigung, da dann auch nur ein Pointer übergeben wird, statt die Struktur String/Widestring u.U. zu kopieren.

[EDIT]const[/EDIT] ergänzt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Icemanemp

Registriert seit: 28. Mai 2004
Ort: immer dem Pfeil nach --->
26 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Pointer schneller als Verweis bei Paramterübergabe?

  Alt 23. Mär 2005, 12:22
Zitat von Bernhard Geyer:
Wenn Du Objekte als Parameter übergibst, so wird für das Objekt auch nur der Pointer übergeben.
Anders sieht es bei Strukturen oder Strings/WideStrings aus. Dort bewirkt die Angabe eine erhebliche Beschleunigung, da dann auch nur ein Pointer übergeben wird, statt die Struktur String/Widestring u.U. zu kopieren.
Was heisst dort bewirkt die Angabe? Welche Angabe! Oben habe ich nicht von einer Angabe gesagt, aber ich denke du beziehst dich mal auf Übergabe der Parameter per Var nicht per const oder per "Nichts"...

Na dann kann man nichts mehr schneller machen... Danke
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#4

Re: Pointer schneller als Verweis bei Paramterübergabe?

  Alt 23. Mär 2005, 12:51
Hi,

ich glaube, er wollte folgendes sagen:
Delphi-Quellcode:
procedure test1(aObject: TObject); // Objekt übergeben --> Es wird der Zeiger übergeben
procedure test2(aString: String); // String übergeben --> String wird kopiert
procedure test3(const aString: String); // String übergeben --> Es wird der Zeiger übergeben
Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Icemanemp

Registriert seit: 28. Mai 2004
Ort: immer dem Pfeil nach --->
26 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: Pointer schneller als Verweis bei Paramterübergabe?

  Alt 24. Mär 2005, 09:41
Hab ich doch auch mit meinem Posting gesagt/gemeint...

Danke für eure Antworten! Ging mir wie gesagt weniger um die Syntax in Delphi, eher um den Antwort ob es schneller ist mir Pointern direkt zu arbeiten! Aber wurde ja beantwortet!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz