Qu'est-ce que le type opaque en C ?
Qu'est-ce que le type opaque en C ?

Vidéo: Qu'est-ce que le type opaque en C ?

Vidéo: Qu'est-ce que le type opaque en C ?
Vidéo: Allocation dynamique et type opaque en C | Ronan Boulic 2024, Septembre
Anonim

Types opaques sont, en partie, un moyen de faire C plus orienté objet. Ils permettent l'encapsulation, de sorte que les détails internes d'un taper peut changer - ou être implémenté différemment dans différentes plates-formes/situations - sans que le code qui l'utilise n'ait à changer.

En gardant cela à l'esprit, qu'est-ce qu'un type de données opaque en C ?

Un type de données opaque est un taper dont l'implémentation est cachée à l'utilisateur. La seule façon d'utiliser type de données opaque se fait via une interface de pointeur abstraite exposée dans l'API. Un exemple célèbre est le FILE Type de données dans le C bibliothèque d'E/S standard. h) et fournir également une déclaration d'interface de pointeur conviviale.

Deuxièmement, qu'est-ce qu'une valeur opaque ? " Opaque » est défini, en anglais, comme « ne pouvant pas être vu à travers; pas transparent". En informatique, cela signifie un valeur qui ne révèle aucun détail autre que le type de valeur lui-même. Les gens utilisent souvent le type C FILE comme exemple classique mais souvent ce n'est pas opaque - les détails sont révélés en stdio.

De plus, qu'est-ce qu'une structure opaque ?

En informatique, un opaque type de données est un type de données dont les données concrètes structure n'est pas défini dans une interface. Cela force le masquage des informations, car ses valeurs ne peuvent être manipulées qu'en appelant des sous-programmes qui ont accès aux informations manquantes.

Quelle est la meilleure façon d'implémenter des types de données abstraits opaques en C ?

Un bonne façon est pour les clients d'utiliser des pointeurs de structure (peut-être en plus cachés derrière les typedefs) qui pointent vers la structure les types qui ne sont pas définis publiquement.

Conseillé: