Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
|
|
1 | |
Как реализовать вызов "переменной" функции?25.07.2013, 23:34. Показов 1675. Ответов 14
Метки нет (Все метки)
Столкнулся с задачей в которой имя исполняемой функции назначается в процессе выполнения...как реализовать такой финт ушами? Например есть стринг с названием и реализованная функция с таким же названием (пустышка void), что нужно написать чтобы по стрингу вызывалась определенная функция?
0
|
25.07.2013, 23:34 | |
Ответы с готовыми решениями:
14
Вызов функции внутри другой функции с передачей локальной переменной по ссылке Вызов функции. Перенос переменной вызов переменной из другой функции Как реализовать вывод сообщения в QMessage, используя вызов функции при нажатии кнопки QMessage |
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
|
|
25.07.2013, 23:38 [ТС] | 3 |
Ну string же, ну или старый добрый char*. Строка с названием функции (полным, неполным - неважно)
0
|
Неэпический
|
|
25.07.2013, 23:41 | 4 |
Не по теме: Диалог в стиле американских мультиков: Имеется ввиду, что, например, в строке записано "foo" и необходимо вызвать функцию с именем foo?
0
|
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
|
|
25.07.2013, 23:43 [ТС] | 5 |
Угу, именно так. Когда мы делали компилятор на практике, я помню там был такой финт ушами. Правда там функции, вроде как определялись по порядку и назывались
xxx1 xxx2 xxx3 xxx4 .... xxxn И самое главное - код вызова был ну просто смешным по размеру, вот только не помню что там было =/ Можно было вызвать по значению после xxx
0
|
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
|
||||||
25.07.2013, 23:59 | 6 | |||||
очень извеняюсь за безграмотность и страшно не красивый код зато тут понятна идея )) и ее суть :
0
|
Неэпический
|
||||||
25.07.2013, 23:59 | 7 | |||||
Можно изгаляться с указателями:
2
|
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
|
|
26.07.2013, 00:10 [ТС] | 8 |
Интересно....а я реализовал через map<string, void (*)()>...Спасибо!
Алекс, Вы не поняли вопроса, здесь немного более сильная вещь обсуждалась )
0
|
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
|
|
26.07.2013, 00:18 | 9 |
0
|
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
|
|
26.07.2013, 00:20 | 10 |
вопрос: немного более сильная
вы про уровень написания или про саму суть вопроса ))) Ведь по моиму написано одно и тожи просто на разном уровне знания языка ) интерестно потому как сейчас какраз прохожу изучения stl map и т.д. заранее благодарю за ответ
0
|
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
|
|
26.07.2013, 00:25 | 11 |
0
|
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
|
||||||
26.07.2013, 00:26 | 12 | |||||
Croessmah приношу свои извенения лень берет свое особенно так поздно вечером поэтому использовал ваш код ))
SeregaC++ благодарю за ответ
0
|
Неэпический
|
|||||||||||
26.07.2013, 00:29 | 13 | ||||||||||
представляете что это будет за свалка условий? Мой код при этом не пострадает
2
|
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
|
|
26.07.2013, 09:32 [ТС] | 15 |
Да, да. Я как раз по ее совету сделал, однако с функцией-членом класса пришлось погемороится )
Алекс, да, это реализация на более высоком уровне знания языка + можно подключать новые функции как модули (например, в библиотеке какой определить функцию)
0
|
26.07.2013, 09:32 | |
26.07.2013, 09:32 | |
Помогаю со студенческими работами здесь
15
Как реализовать вызов функции? Как реализовать левосторонний вызов функции? Вызов функции API. Что делать, и как есть. Но я тупо не понимаю, как это реализовать Как реализовать вызов функции write для каждого байта строки Передача функции переменной и вызов переменной Вызов функции из переменной Вызов переменной из функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |