crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Задачка - typedef
LuckLess
  опции профиля:
сообщение 21.5.2008, 11:47
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 31
Регистрация: 10.10.2007
Пользователь №: 8

Спасибо сказали: 0 раз(а)




Репутация:   0  


недавно в чужом коде встретил мозголомный typedef.. вот наваял свой примерчик на эту тему )).
Кто скажет что за тип
typedef int (*((*Type) [5])) [2];

и что за тип
typedef int *(*Type [5])[3];


:D

если в ответе будет фигурировать массив - укажите его размерность :p

Сообщение отредактировал Litkevich Yuriy - 21.5.2008, 12:01
Причина редактирования: с тэгом code=cpp красивее
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 21.5.2008, 12:17
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Цитата(LuckLess @ 21.5.2008, 12:47) *
недавно в чужом коде встретил мозголомный typedef.. вот наваял свой примерчик на эту тему )).
Кто скажет что за тип
typedef int (*((*Type) [5])) [2];

и что за тип
typedef int *(*Type [5])[3];


:D

если в ответе будет фигурировать массив - укажите его размерность :p


Ну первая наверное

массив указателей на массив указателей размерностью 5 типа Type размерностью 2


Второе наверное

массив указателей на массив указателей типа Type размерностью 5 размерностью 3
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.5.2008, 12:20
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а как такое применять, т.е. как будет выглядеть объявление переменной? и польза?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 21.5.2008, 12:41
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Цитата(Litkevich Yuriy @ 21.5.2008, 13:20) *
а как такое применять, т.е. как будет выглядеть объявление переменной? и польза?

Ну мне подумалось, что лучше сделать новый шаблонный тип, чем писать такую телегу. Пусть индексы лучше компилятор считает :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
LuckLess
  опции профиля:
сообщение 21.5.2008, 13:58
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 31
Регистрация: 10.10.2007
Пользователь №: 8

Спасибо сказали: 0 раз(а)




Репутация:   0  


:no: оба typdef-а непраллно расшифрованы ).
Цитата
Ну мне подумалось, что лучше сделать новый шаблонный тип, чем писать такую телегу

этт точно )

у меня есть еще typedef на закусочку, так сказать :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.5.2008, 14:13
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ну ты с закуской погоди, коль уж расшифровано не правильно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 29.5.2008, 11:36
Сообщение #7


Мастер
******

Группа: Модератор
Сообщений: 3293
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Мдя, тоже не могу врубиться, что ето такое! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 29.5.2008, 12:25
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Ы int** x[5][2]
ЫЫ int* x[5][3]
где Type = x

добавлено:
Hate such a magic, it's for bloody C fans :)

Сообщение отредактировал Andrew Selivanov - 29.5.2008, 12:29
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
LuckLess
  опции профиля:
сообщение 30.5.2008, 15:24
Сообщение #9


Студент
*

Группа: Новичок
Сообщений: 31
Регистрация: 10.10.2007
Пользователь №: 8

Спасибо сказали: 0 раз(а)




Репутация:   0  


мм.. ну в общем..
typedef int (*((*Type) [5])) [2];
указатель на массив из 5-и элементов которые являются указателями на массив из 2-х элементов которые собстно int-ы :p
typedef int *(*Type [5])[3];
массив из 5-и элементов которые являются указателями на массив из 3-х элементов которые собстно указатели на int
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 22.9.2020, 10:22