Forum: PC-Programmierung zugreifen auf globale Variablen innerhalb einer Datei


von Marc (Gast)


Lesenswert?

Guten morgen,

ich habe mal eine Frage an diejenigen, die schon etwas länger 
Programmieren (in C).
Ich habe ein Projekt, welches mehrere Dateien (Module) hat. Um statische 
Variablen auszutauschen habe ich getter-/setter-Funktionen erstellt.

Frage:
Aber wie macht ihr es in dem Modul selber? Greift ihr direkt auf die 
Variable zu? Oder nimmt ihr dafür auch die getter-/setter-Funktion?

Beides funktioniert. Spontan würde ich sagen, ich greife auf die 
Variable direkt zu (da einfacher). Aber hat das auch irgendwelche 
Nachteile?

von µC User (Gast)


Lesenswert?

Getter und Setter Funktionen.

Globale Variablen sin ein grosses nono und nicht gerne gesehen.

von Arno (Gast)


Lesenswert?

µC User schrieb:
> ...
[  ] Du hast die Frage verstanden

von Arno (Gast)


Lesenswert?

Zum Thema
Greif im Modul selbst direkt darauf zu, es könnte Ausnahmen geben wenn 
vor/nach jedem Zugriff besondere Aktionen erforderlich sind, z.b. eine 
Synchronisation oder Arbitrierung in irgendeiner Art und Weise.

von 🐧 DPA 🐧 (Gast)


Lesenswert?

Ich greife eigentlich immer direkt auf variablen zu. Nur wenn ich etwas 
öfters brauche, und es umständlich ist, da ran zu kommen, mache ich 
eventuell eine getter Funktion. Aber das habe ich normalerweise mit 
Nutzdaten, und die sind bei mir in der Regel nicht global. Global sind 
bei mir hauptsächlich Metadaten zum Programm selbst. z.B. ein struct mit 
Funktionszeigern, welches ein Interface darstellt, und diverse Module, 
die dieses Implementieren, und deshalb eine globale Instanz haben. Oder 
ein Buffer zum Cachen von Objekten für später. Solche Dinge.  Wobei, die 
sind bei mir meistens dann wiederum statisch, also zwar globale 
Lebenszeit, aber nur in einem bestimmten Modul sichtbar, usw.

von Bratmaxxe (Gast)


Lesenswert?

Es nennt sich Pointer...

von Dunno.. (Gast)


Lesenswert?

Setter/Getter für den Zugriff von außerhalb, private variable innerhalb.

Grund: ich kann so ggfs den Zugriff von außerhalb und innerhalb 
unterscheiden, je nach Zustand des Moduls auch verbieten oder besonders 
behandeln..

von Rolf M. (rmagnus)


Lesenswert?

µC User schrieb:
> Getter und Setter Funktionen.
>
> Globale Variablen sin ein grosses nono und nicht gerne gesehen.

Getter und Setter bringen nur dann was, wenn darin auch mehr getan wird 
als nur die Variable zu lesen und zu schreiben. Wenn das nicht der Fall 
ist, haben sie keinerlei Vorteil. Die eigentlichen Probleme, die globale 
Variablen auslösen, bekommt man auch nicht weg, indem man sie halt 
static macht und dann per Getter und Setter darauf zugreift.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.