Тем не менее, эти приемы полезно знать для различных подобных целей.
аюсь найти способ сделать структуру для хранения динамического массива, который может работать с любым типом данных (включая определяемые пользователем типы данных), так что это то, что я придумал.
#define Vector(DATATYPE) struct { DATATYPE* data; size_t size; size_t used; }
typedef Vector(int) int_Vector;
int main(int argc, char* argv[]){
int_Vector vec;
return 0;
}
Хотя это работает, мне было интересно, это хорошая практика? Должен ли я делать что-то подобное или есть лучший метод? Также есть способ реализовать это безtypedef Vector(int) int_vector
часть. В основном это способ, который позволил бы мне использовать массив таким же образом, как c ++ использует шаблоны, где он будет выглядеть примерно так:
#define Vector(DATATYPE) struct { DATATYPE* data; size_t size; size_t used; }
int main(int argc, char* argv[]){
Vector(int) vec;
return 0;
}
Главным образом, чтобы избежать так много typedefs и иметь все это под одним именем.