реклама на сайте
подробности

 
 
> Шаблоны на языке С
head_sk
сообщение Jul 22 2009, 09:39
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 3-07-09
Пользователь №: 50 897



Недавно друг мне задал задачу. Как реализовать с помощью макросов в С структуру являющуюся пусть и не полным аналогом шаблонов в С++, но очень на неё похожую. Попытался изучить данный интересный вопрос, в инете ничего не нашел похожего и интересного. Кто-то слышал раньше про такое? Как данную задачу реализовать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
msalov
сообщение Jul 22 2009, 10:50
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



 Смотря какие шаблоны вас интересуют, если простейшие типа
Код
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
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jul 22 2009, 11:11
Сообщение #3


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(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


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
msalov
сообщение Jul 22 2009, 11:21
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



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


Спасибо, исправил.
Go to the top of the page
 
+Quote Post
head_sk
сообщение Aug 22 2009, 07:27
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 3-07-09
Пользователь №: 50 897



А в целом вы не пооветуете никаких книг для программирования паттернов на Си?

Сообщение отредактировал head_sk - Aug 22 2009, 07:44
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01404 секунд с 7
ELECTRONIX ©2004-2016