Il s'agit d'une approche de base pour créer une bibliothèque générique vectorielle / liste en pure c. Cependant, vous avez remarqué que «Pure C» contredit mes extensions de fichiers, et oui il y a un problème, mais c'est un problème relâché par compilateur.
Dans GCC, le type de spécificateur a déjà fait du spécificateur afin que vous puissiez créer des fichiers * .c sans aucun problème.
Où cela ne fonctionne pas avec le compilateur MSVC. MSVC n'a pas de spécificateur 'typeof' où, comme mon implément, dépend d'un spécificateur de type et Dectype ne fonctionne pas comme je m'attends. Je découvre donc static_cas <delctype (x)> comme une solution.
typedef struct
{
Taille int;
Capacité int;
YourDatAtype * data;
} MyDatavector;
Tout ce dont vous avez besoin pour écrire votre structure de données vectorielle. Une fois que vous pouvez facilement utiliser toutes les fonctions vectorielles dans votre propre type de données défini
Ex: struct foo {..} typedef foo foo; // Ici, nous devons définir notre structure comme un nouveau type afin d'exécuter correctement VectorMaker ...
CVectorCreateType (FOO, MyFoovector);
MyFoovector myVec = vectorCreate (myVec); Ou myfoovector myVec; VectorInit (MyVec);
... alors
Votre élément de YourDatatype; / * Certains processus / vectorAPPEnd (VEC, élément) / certains processus * / vectorsort (VEC, yourDatatyPeCompparator);