
Envoyé par
Luc Hermitte
POD, cela veut juste dire compatible avec le C. Et comme le dit loufoque, c'est lié à la façon de copier, mais aussi à l'alignement, etc.
Les TADs..., je les ai toujours associés à "générique". Le premier exemple de TAD que l'on m'avait montré, c'était la pile. La Pile stocke des éléments d'un type E, et fourni un certain nombre d'opérations dessus (push, top, pop, empty) et qui sont décrites avec le type E des éléments.
A relire wikipédia, je vois qu'il s'agit d'une spécification (mathématique) de l'interface d'un type, son abstraction. On ne s'intéresse pas au comment. juste au contrat.
Prenons les nombres flottant, il existe plusieurs spécifications IEEE de format. Mieux int, d'une machine à l'autre son format exact diffère. Pourquoi ne pourrait-il pas être vu comme un ADT ? Il est simple de spécifier mathématiquement les opérations qui s'y rapportent, non?. Et on ne s'intéresse pas vraiment à son implémentation, d'autant qu'elle est changeante.
Bref. Pour moi, TAD et POD sont deux concepts orthogonaux.
EDIT: Cela fait longtemps que l'on réalise des POD de listes et autres piles en C, et quel plus bel autre exemple TAD que FILE? Bref, il y a quantité de TAD en C, et vu que tous les types C sont des POD ...
Partager