Это базовый подход для создания общего вектора/списков библиотеки в Pure c. Однако вы заметили, что «Pure C» противоречил расширениям моего файла, и да, есть проблема, но это проблема, связанная с компилятором.
В GCC уже есть Specifier TypeOF, чтобы вы могли создавать файлы *.c без каких -либо проблем.
Где это не работает с компилятором MSVC. MSVC не имеет спецификатора «TypeOf», где мой реализация зависит от спецификатора типа, а DeckType не работает, как я ожидал. Поэтому я выясняю static_cas <delctype (x)> как решение.
Typedef struct
{
int size;
int емкость;
YourDatatype * данные;
} MyDataVector;
Все, что вам нужно сделать, написать свою векторную структуру данных. После того, как вы можете легко использовать все векторные функции в своем собственном типе данных
Пример: struct foo {..} typedef foo foo; // Здесь нам нужно определить нашу структуру как новый тип для правильного запуска Vectormaker ...
CVectorCreateType (Foo, Myfooovector);
Myfooovector myvec = vectorcreate (myvec); Или myfooovector myvec; Vectorinit (myvec);
... затем
YourDatatype элемент; / * Некоторый процесс / VectorAppend (vec, element) / некоторый процесс * / vectorsort (vec, yourdatatypecomparator);