Unterschied Array mit einem Element / Variable
-
Hallo zusammen,
gibt es hier zwischen einen Unterschied?double x[1] = {5}; double y = 5;Vielen Dank
lg, freakC++
-
freakC++ schrieb:
Hallo zusammen,
gibt es hier zwischen einen Unterschied?double x[1] = {5}; double y = 5;Vielen Dank
lg, freakC++Semantisch ist beides das gleiche. Syntaktisch hast Du aber einen gewaltigen Unterschied.
mfg Martin
-
In wiefern meinst du Unterschied?
Das sind grundsätzlich ganz verschiedene Sachen.
xist ein Array mit nur einem Element vom Typdoubleund y ist eindouble.Unterschiede gibt es sehr viele. Zu nennen sind das Verhalten bei Funktionsüberladungen, Zugriff oder z.b auch das Verhalten, wenn du die Variablen versuchst zu inkrementieren. Ich sehe da nicht viele parallelen, ausser, dass sie beide gleich viel Speicher (mit dem gleichen Typen) brauchen. Aber das hier tut das auch:
struct foo{ double x; };Und das ist auch nicht wirklich gleich, wie die gezeigten Beispiele..
-
freakC++ schrieb:
Hallo zusammen,
gibt es hier zwischen einen Unterschied?double x[1] = {5}; double y = 5;Der Typ und der Zugriff ist offensichtlich unterschiedlich. Aber ja, Du kannst im Prinzip alle lokalen "normalen" Variablen durch 1-elementige Arrays ersetzten und dementsprechend überall ein [0] dranhängen. Das sollte mehr oder weniger zum gleichen Maschinencode führen.
kk
-
Hallo,
ja, ich meinte eher, ob es auf Maschinenebene einen Unterschied gibt. Dass ersteres ein Array ist, war mir klar :D. Drakons Beispiel mit dem struct ist aber auch ein gutes Beispiel.Herzlichen Dank
lg, freakC++
-
freakC++ schrieb:
Hallo,
ja, ich meinte eher, ob es auf Maschinenebene einen Unterschied gibt.In optimiertem Zustand kaum.
-
Ok, super!
Bis dann
lg, freakC++