С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
#1

typedef непонятно чего - C++

15.11.2011, 01:46. Просмотров 2302. Ответов 9
Метки нет (Все метки)

Есть вот такой код
C++
1
typedef private void (T::*TimedFunction)(void);
По сути это должна быть ссылка на функцию класса Т с возвращаемым значением void, но как разбираются такие выражения я не знаю, можете помочь?

Добавлено через 15 минут
http://www.newty.de/fpt/index.html - хороший ман по этому поводу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 01:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос typedef непонятно чего (C++):

Для чего typedef struct - C++
Часто в "профессиональном" коде вижу - typedef struct MyStruct { // ... } MyStuct; даёт ли это какие то преимущества перед...

Для чего используют typedef? - C++
Здравствуйте программисты! Набрёл на тему,там используется какой-то typedef, подскажите пожалуйста,что это такое,как с ним работать. И...

Typedef - C++
Доброго времени суток. Привожу вам отрывок из книги "C и Visual C++ 2008 для начинающих". В книге приведен пример объявления структуры с...

typedef в c++ - C++
Здравствуйте! Нужно собрать полную информацию по оператору typedef в c++. Пока нашел, что typedef используется для задания новых...

typedef - C++
Доброго времени суток, уважаемые программисты! Не могу понять несколько строк из примера учебника Дейтела. С первой строкой все понятно,...

Typedef - C++
Наткнулся на пример ниже: typedef char *cstring; //Каков тип переменной cstr в следующем объявлении: const cstring cstr; ...

9
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
15.11.2011, 18:11 #2
Цитата Сообщение от outoftime Посмотреть сообщение
можете помочь?
в чем помочь?
0
Сыроежка
Заблокирован
15.11.2011, 19:37 #3
Цитата Сообщение от outoftime Посмотреть сообщение
Есть вот такой код
C++
1
typedef private void (T::*TimedFunction)(void);
По сути это должна быть ссылка на функцию класса Т с возвращаемым значением void, но как разбираются такие выражения я не знаю, можете помочь?

Добавлено через 15 минут
http://www.newty.de/fpt/index.html - хороший ман по этому поводу
Мне представляется,что в этом объявлении имеется ошибка. Я не думаю,что можно указывать спецификатор доступа в typedef. typedef должен комбинироваться только со спецификаторами типа. Поэтому,вообще-то, вы должны получитьсообщение от компилятора на эту конструкцию.

Ежели убрать спецификатор доступа, то объявляется указатель на функцию-член класса T, которая не возвращает значения и не имеет параметров.
0
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
16.11.2011, 00:26  [ТС] #4
Цитата Сообщение от niXman Посмотреть сообщение
в чем помочь?
Уже ни в чем. Я просто ман потом нарыл и то случайно (:
Цитата Сообщение от Сыроежка Посмотреть сообщение
Я не думаю,что можно указывать спецификатор доступа в typedef
Вы меня разочаровали (: VS 2008 хавает только так (:
1
TwiX
60 / 60 / 1
Регистрация: 27.10.2011
Сообщений: 189
16.11.2011, 00:54 #5
ТС сам же и кинул потом ссылку на статейку по этому поводу. Вчера ещё прочитал и тоже разобрался =)
0
Bers
Заблокирован
16.11.2011, 03:23 #6
Цитата Сообщение от outoftime Посмотреть сообщение
Вы меня разочаровали (: VS 2008 хавает только так (:
непортируемый код?
0
Сыроежка
Заблокирован
16.11.2011, 18:27 #7
Цитата Сообщение от outoftime Посмотреть сообщение
Уже ни в чем. Я просто ман потом нарыл и то случайно (:

Вы меня разочаровали (: VS 2008 хавает только так (:
То, что хавает, то это не имеет отношение к стандартному С++, а, скорей всего, имеет отношение к Microsoft (управляемому) С++.

В стандарте же четко сказано, что typedef может комбинироваться только со спецификаторами типов.
0
taras atavin
16.11.2011, 19:14
  #8

Не по теме:

Цитата Сообщение от Bers Посмотреть сообщение
непортируемый код?
Ты не видел моих прог на бейсике, вот уж где точно непортабельный и именно код. Байт-код, слегка прикрытый фортраном и кое где паскалем.

0
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
19.11.2011, 02:01  [ТС] #9
Тема была о том как разобрать выражение типа:
Цитата Сообщение от outoftime Посмотреть сообщение
void (T::*TimedFunction)(void)
Просьба не флудить, потом искать долго нужную инфу...
0
Bers
Заблокирован
19.11.2011, 03:14 #10
http://alenacpp.blogspot.com/2007/04/blog-post.html
0
19.11.2011, 03:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2011, 03:14
Привет! Вот еще темы с ответами:

typedef - C++
double f(double x){ } typedef double (*TPF)(double); TPF fff = f; fff(10.0); как и почему это работает корректно, если в...

typedef - C++
Сталкнулся с таким объвлением typedef __mpz_struct mpz_t; Не могу врубится что оно значит? ...

Спецификатор typedef - C++
Не могу понять как работает спецификатор typedef... Прочитал про него достаточно инфы и он везде сравнивается с директивой #define с той...

Improper use of typedef - C++
В структурах : struct ActionController { public : int Signature; int ID; int ndx; int ActionSetsCount; ActionSet *...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.