Шаблон в ansi C? - PullRequest
       1

Шаблон в ansi C?

0 голосов
/ 28 февраля 2012

Как я могу создать функцию с другими типами данных (некоторые struct или sth)? В C ++ существуют шаблоны, а в C?

Я слышу о пустоте *, но я не знаю, работает ли она.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 28 февраля 2012

Ну, способ сделать это это с void *. Вам также может понадобиться использовать указатели на функции, например, если вам нужно сравнить общие значения.

Другой способ сделать это - использовать xmacros , но обычно это больше для уменьшения дублирования кода для очень похожих структур.

0 голосов
/ 28 февраля 2012

void * является решением в C, так как любой указатель имеет тот же sizeof(), что и void *. Конечно, вы не получаете безопасность типов, но это такая же хорошая абстракция, какую вы можете получить с C. Кроме того, вы можете взглянуть на stdarg.h и переменные функции, но опять же, вы должны следить за тем, что вы делаете, так как компилятор не поможет вам ни на шаг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...