Laissez les suivantes définir les types Ada:Ada: Comprendre variable'Size vs vs type'Size value_size vs object_size
type Type_Huge is array (1 .. Integer'Last) of Float;
type Type_B is (foo, bar, blop, bloub);
type Type_A (disc : Type_B := foo) is
record
case disc is
when foo =>
My_int : Integer;
when bar =>
huge_data : Type_Huge := (others => 0.0);
when others =>
null;
end case;
end record;
1- Est-ce que vous confirmez ce qui suit?
my_var : Type_A;
(Type_A'Size = my_var'Size)
retours False
2- Quelle est la valeur réelle de my_var'Size
? Je dirais que la taille est au moins:
Type_B'Size + Integer'Size
3- Quelle est la valeur de Type_A'Size
?
Je dirais que la taille est le maximum des configurations possibles.
3- Y a-t-il autre chose que le compilateur ajouterait (probablement caché) à my_var
?
J'ai également lu quelques articles concernant Value_Size
et Object_Size
Mais je ne comprends pas l'image complète en ce moment.
Thx
Vous devriez au moins essayer ceci avec votre compilateur; cela vous donnerait un point de données. –