[gull] Types : [was: Php/MsSQL obsoletes?]

Marc Mongenet marc.mongenet at gmail.com
Sun Oct 2 04:49:51 CEST 2005


2005/9/30, Dominique Lovy <Dominique.Lovy at chiphy.unige.ch>:
> Le Vendredi, 30 Septembre 2005 09.37, Daniel Cordey a écrit :
> > C'est ce qui m'a semble se degager dans la liste ces jours-ci. C'est quoi
> > fortement type ? Je pense que l'on peut laisser le sujet de cote... le sens
>
> Pour moi, un compilateur fortement typé refusera ceci à la compilation
>    typedef float swiss_francs ;
>    typedef float us_dollars ;
>
>    swiss_francs montant_chf ;
>    us_dollars     montant_usd ;
>
>    montant_chf = montant_usd ;
> à cause de cette dernière ligne bien sur.
>
> Mais c'est certainement une définition parmi les plus strictes...
>
> Dom

C'est vrai qu'il manque à C la possibilité d'introduire de nouveaux
types simples.
Typedef est effectivement inadéquat pour cela.

Mais souvent, quand on a besoin d'un nouveau type, il s'agit d'un type composé
et C les différencie même s'ils ont la même représentation :
struct swiss_franc {
  int unit;
  int cent;
} s1;
struct us_dollar {
  int unit;
  int cent;
} s2;
s1 = s2;   /* BUG */

Cela dit, le typedef, qui introduit en fait un synonyme, est loin
d'être inutile,
notamment en C++ lorsqu'on utilise des types paramétrés (les templates).

Marc Mongenet



More information about the gull mailing list