Autor Beitrag
Bomania
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: Sa 10.05.03 13:44 
Hallo,

mir ist da letztens aufgefallen, dass ich Zählvariablen für Schleifen etc. immer lokal deklariert habe. Das ist zwar ganz im Sinne der Datenkapselung, aber was macht denn mehr Sinn, wenn man z.B. 5 zählergesteuerte Schleifen in unterschiedlichen Prozeduren hat? Ist es da nicht effektiver, nur eine Variable für diesen Job global zu deklarieren als in jeder Prozedur?

Gruß,
Bo
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Sa 10.05.03 13:57 
Das kommt auf Deine Prozeduren an. Sind die einzelnen Proceduren unabhängig, dann kann man das machen mit der einen globalen Variable. Rufen die Proceduren sich gegenseitig durch die Schleifen immer wieder auf, so musst Du in jeder Procedure eine Variable für Deine Schleifen deklarieren.
Bomania Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: Sa 10.05.03 14:28 
Ja stimmt, das leuchtet ein. Danke für die Antwort.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 10.05.03 16:51 
Läßt Delphi überhaupt globale Variablen als Zählvariablen für Schleifen zu? Aber auch wenn es dies tut, würde ich es vermeiden auch wenn ich eine in mehreren Prozeduren brauche. Es erhöht einfach die Übersichtlichkeit, entspricht dem Prinzip des OOP, es kann nichts passieren, global verbraucht sie zur gesamten Laufzeit Speicher. Ich sehe keinen Grund sie global zu machen, nur Gründe, die dagegen sprechen.
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Sa 10.05.03 18:22 
Lokale/Globale Variaben und OOP :?

Aber egal. Noch ein Nachteil der globalen Variablen. Diese werden nicht immer in ein CPU Register geladen. Bei lokalen Variablen hingegen versucht der Compiler diese so oft und so lang wie nur möglich in den Rechenregistern zu halten, damit die Geschwindigkeit des Codes steigt.

_________________
Ist Zeit wirklich Geld?
Bomania Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: So 11.05.03 07:54 
Danke für die Antworten. Die Quintessenz also: nur lokale Variablen.