![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
я повторюсь еще раз. это НЕ переносимо. сегодня может работать а завтра нет. Программист, который будет сопровождать этот код (может быть даже ты сам) потом будет долго мучатся, чтобы понять причину. На другом компиляторе, на дрогой платформе, и даже на другой версии того же компилятора это может начать работать иначе.
|
|||
|
||||
TDM |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.2.2006 Где: SPB Репутация: нет Всего: нет |
ок, ясно
|
|||
|
||||
TDM |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.2.2006 Где: SPB Репутация: нет Всего: нет |
boostcoder,
в mpl sequence по 0 индексу получается тип 1го параметра, а возвращаемого нет. типы беру через boost::mpl::at_c |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
возможно что-то напутал... чуть позже проверю...
|
|||
|
||||
TDM |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.2.2006 Где: SPB Репутация: нет Всего: нет |
всё, разобрался
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
все верно. напутал подбиблиотеку.
Добавлено @ 21:14 может поделитесь решением? ![]() Это сообщение отредактировал(а) boostcoder - 8.9.2010, 22:09 |
|||
|
||||
TDM |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.2.2006 Где: SPB Репутация: нет Всего: нет |
boostcoder,
ок)
работает как я понял только для просто функций, для методов нет. с result_of работает всё:
|
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
ответ на первый вопрос топика так и остался загадкой...
Добавлено через 3 минуты и 56 секунд
строго говоря никак все, что написали, не имеет ничего общего с первоначальной формулировкой задачи -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
boostcoder,
здесь определяют типы параметров/результата в общем-то статической сигнатуры просто по адресу без спец. средств ничего определить нельзя -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Точно, если, конечно, автор имел в виду именно то, что написал - определение сигнатуры по УКАЗАТЕЛЮ. Ибо все эти ваши бусты и прочее мета-программирование работает вовсе не с указателями, а с точными типами и в компил-тайм. Но не исключено, что автор это и имел в виду. -------------------- ... |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
MAKCim, Earnest, или я вас не понимаю... или второе.
т.е. адрес функции должен храниться в void* ? естественно. но даже если бы это можно было сделать в runtime, то от этого было бы мало толку, т.к. в runtime ни сигнатуру, ни тело функции не сгенерируешь. да и не надо это. пример: http://liveworkspace.org/code/700dba403c8a...f15069042845ede Это сообщение отредактировал(а) boostcoder - 9.9.2010, 15:20 |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
Это почему? Параметры в стек положить и руками можно, сгенерировать любой код и выполнить его хоть на стеке тоже не проблема. (x-bit--ы конечно всякие там и ASLR есть, но и их уже научились обходить. Да и не везде они есть) |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
Sartorius, значит я не прав. т.к. с ассемблером не дружу.
к тому же, не припомню ситуации, когда это мне было нужно. |
|||
|
||||
TDM |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.2.2006 Где: SPB Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |