Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Шаблоны на языке С
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
head_sk
Недавно друг мне задал задачу. Как реализовать с помощью макросов в С структуру являющуюся пусть и не полным аналогом шаблонов в С++, но очень на неё похожую. Попытался изучить данный интересный вопрос, в инете ничего не нашел похожего и интересного. Кто-то слышал раньше про такое? Как данную задачу реализовать?
msalov
 Смотря какие шаблоны вас интересуют, если простейшие типа
Код
template< typename T >

struct mystruct_t{T a, b,c; T *prev, *next;}
 

То можно обойтись конструкцией наподобии

Код
// обьявляем тип

#define MYSTRUCT_T(T) typedef struct {T a, b, c; T *prev, *next;} mystruct_##T##_t;

// используем для обьявления переменных

#define MYSTRUCT(T) mystruct_##T##_t
mdmitry
Цитата(gotty @ Jul 22 2009, 14:50) *
Код
// обьявляем тип

#defiene MYSTRUCT_T(T) typedef struct {T a, b, c; T *prev, *next;} mystruct_##T##_t;

// используем для обьявления переменных

#defiene MYSTRUCT(T) mystruct_##T##_t;

Код
#define
, а не
Код
#defiene
msalov
Цитата(mdmitry @ Jul 22 2009, 14:11) *
Код
#define
, а не
Код
#defiene


Спасибо, исправил.
head_sk
А в целом вы не пооветуете никаких книг для программирования паттернов на Си?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.