Сообщение Re[12]: C++ 20 приняли от 08.01.2021 22:13
Изменено 08.01.2021 22:13 kov_serg
Re[12]: C++ 20 приняли
Здравствуйте, Videoman, Вы писали:
V>Я, честно, вообще не представляю как на С делается такое:
V>допустим есть уже куча готового кода и нужно сказать — делай вот все-все на 99% тоже самое, но вот с этим новым типом — вот так...
Либо так
или просто в файла используются названия типов которые надо менять и потом
они подключаются с в исходниках с рзаными типами
Или просто кодогенерация скриптами как в opengl
V>На С++ просто делается перегрузка и все, компилятор сам подставит нужный новый метод, а остальное трогать не нужно.
Ага и ненужный тоже.
V>Я, честно, вообще не представляю как на С делается такое:
V>допустим есть уже куча готового кода и нужно сказать — делай вот все-все на 99% тоже самое, но вот с этим новым типом — вот так...
Либо так
void qsort(void *base, size_t num, size_t size, int (*compare) (const void *, const void *));
или просто в файла используются названия типов которые надо менять и потом
они подключаются с в исходниках с рзаными типами
//add.cc
NUM ADD(NUM a,NUM b) { return a+b; }
//add_int.c
#define NUM int
#define ADD add_int
#include "add.cc"
//add_float.c
#define NUM float
#define ADD add_float
#include "add.cc"
// add.h
int add_int(int,int);
int add_float(float,float);
Или просто кодогенерация скриптами как в opengl
V>На С++ просто делается перегрузка и все, компилятор сам подставит нужный новый метод, а остальное трогать не нужно.
Ага и ненужный тоже.
Re[12]: C++ 20 приняли
Здравствуйте, Videoman, Вы писали:
V>Я, честно, вообще не представляю как на С делается такое:
V>допустим есть уже куча готового кода и нужно сказать — делай вот все-все на 99% тоже самое, но вот с этим новым типом — вот так...
Либо так
или просто в файле используются названия типов которые надо менять и потом
они подключаются с в исходниках с разными типами
Или просто кодогенерация скриптами как в opengl
V>На С++ просто делается перегрузка и все, компилятор сам подставит нужный новый метод, а остальное трогать не нужно.
Ага и ненужный тоже.
V>Я, честно, вообще не представляю как на С делается такое:
V>допустим есть уже куча готового кода и нужно сказать — делай вот все-все на 99% тоже самое, но вот с этим новым типом — вот так...
Либо так
void qsort(void *base, size_t num, size_t size, int (*compare) (const void *, const void *));
или просто в файле используются названия типов которые надо менять и потом
они подключаются с в исходниках с разными типами
//add.cc
NUM ADD(NUM a,NUM b) { return a+b; }
//add_int.c
#define NUM int
#define ADD add_int
#include "add.cc"
//add_float.c
#define NUM float
#define ADD add_float
#include "add.cc"
// add.h
int add_int(int,int);
int add_float(float,float);
Или просто кодогенерация скриптами как в opengl
V>На С++ просто делается перегрузка и все, компилятор сам подставит нужный новый метод, а остальное трогать не нужно.
Ага и ненужный тоже.