head_sk 0 22 июля, 2009 Опубликовано 22 июля, 2009 · Жалоба Недавно друг мне задал задачу. Как реализовать с помощью макросов в С структуру являющуюся пусть и не полным аналогом шаблонов в С++, но очень на неё похожую. Попытался изучить данный интересный вопрос, в инете ничего не нашел похожего и интересного. Кто-то слышал раньше про такое? Как данную задачу реализовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
msalov 0 22 июля, 2009 Опубликовано 22 июля, 2009 · Жалоба Смотря какие шаблоны вас интересуют, если простейшие типа 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 0 22 июля, 2009 Опубликовано 22 июля, 2009 · Жалоба // обьявляем тип #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 0 22 июля, 2009 Опубликовано 22 июля, 2009 · Жалоба #define , а не #defiene Спасибо, исправил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
head_sk 0 22 августа, 2009 Опубликовано 22 августа, 2009 (изменено) · Жалоба А в целом вы не пооветуете никаких книг для программирования паттернов на Си? Изменено 22 августа, 2009 пользователем head_sk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться