Laenge eines Struct-Arrays.
-
@Swordfish sagte in Laenge eines Struct-Arrays.:
"Einen Array-Typ im free-store zu haben geht schlecht."
int (*foo)[123];
Tadaa!
*foo
hat Typint[123]
und es kann jede beliebige Speicherklasse haben.
-
@SeppJ autsch
-
Ich hätt da noch an was anderes gedacht...
struct foo { int x; int data[123]; }; foo * f = new foo();
Wäre das dann nicht auch ein Array im free store im Sinn der Frage?
-
@Mechanics ja, gibs mir
-
@manni66 sagte in Laenge eines Struct-Arrays.:
The keyword is unused and reserved.
(since C++17)Welchen C-Programmierer sollte das interessieren?
-
int (*foo)[123];
Tadaa!
*foo
hat Typint[123]
und es kann jede beliebige Speicherklasse haben.Hier wird foo definiert und nicht *foo. Hier wird nirgendwo ein Array definiert, d.h. hier kann auch keine Speicherklasse für ein Array vorgegeben werden.
Worauf foo zeigt, ist für eine explizit vorgegebene Speicherklasse irrelevant; nur für foo selbst kann mittels Spezifizierer eine Speicherklasse vorgegeben werden, und im Filescope (oft gleichgesetzt mit dem nicht standardkonformen "global") kann foo z.B. auch nie register werden.
-
@Wutz sagte in Laenge eines Struct-Arrays.:
int (*foo)[123];
Tadaa!
*foo
hat Typint[123]
und es kann jede beliebige Speicherklasse haben.Hier wird foo definiert und nicht *foo. Hier wird nirgendwo ein Array definiert, d.h. hier kann auch keine Speicherklasse für ein Array vorgegeben werden.
Worauf foo zeigt, ist für eine explizit vorgegebene Speicherklasse irrelevant; nur für foo selbst kann mittels Spezifizierer eine Speicherklasse vorgegeben werden, und im Filescope (oft gleichgesetzt mit dem nicht standardkonformen "global") kann foo z.B. auch nie register werden.Ja? Genau das ist der Punkt.
-
@SeppJ
Du zeigt in der Diskussion um Arrays einen Zeiger auf ein Array und beschreibst dessen Verhaltensweisen. Ein Array ist kein Zeiger. Ein Zeiger ist kein Array.
-
@SeppJ Sogesehen 1:0 Wutz.
-
@DirkB sagte in Laenge eines Struct-Arrays.:
@manni66 sagte in Laenge eines Struct-Arrays.:
The keyword is unused and reserved.
(since C++17)Welchen C-Programmierer sollte das interessieren?
Schon wieder nicht aufgepasst...
-
@Wutz sagte in Laenge eines Struct-Arrays.:
@SeppJ
Du zeigt in der Diskussion um Arrays einen Zeiger auf ein Array und beschreibst dessen Verhaltensweisen. Ein Array ist kein Zeiger. Ein Zeiger ist kein Array.@Swordfish sagte in Laenge eines Struct-Arrays.:
@SeppJ Sogesehen 1:0 Wutz.
Häh? Ich rede von
*foo
, nichtfoo
.*foo
ist vom Typint[64]
, das ist Fakt, da gibt es nichts zu diskutieren und auch nichts abzustimmen.