Здравствуйте, LaptevVV, Вы писали:
LVV>От чего подход мультиметодов позволяет избавиться. LVV>Я б разнес все же на два класса — с разными типами элементов.
Честно я не понимаю как это мне поможет
Мне нужен какой то механизм передачи методов в оператор мильтиметодов
У мeня есть много методов темплейтных типа:
Здравствуйте, pilot.net, Вы писали:
U>>опишите подробнее, что хотите получить. лучше кодом покажите. откуда должны браться v и v1 мне неясно PN>почти кусок кода:
<...>
в этом коде вам уже нужна двойная диспетчеризация
можно написать аналогичную функцию Dispatch2 : http://ideone.com/pYqgU1
я понимаю, что это плохо масштабируемый подход, но на практике иногда проще написать вспомогательные и не очень обобщенные функции. их назначение спрятать в себе череду if
U>я понимаю, что это плохо масштабируемый подход, но на практике иногда проще написать вспомогательные и не очень обобщенные функции. их назначение спрятать в себе череду if
Класс, мне понравилось
А можно ли как-нибудь передать в структуру D2 метод который нужно выполнить ?
при вызове диспетчера int h2 = Dispatch2<int>(d1, d2, D2<int>(), ctx,78); ?
Здравствуйте, denisko, Вы писали: D>int main(int argc, wchar_t** argv) D>{ D> CallerFinal::call(floatType,FunctionHolder(), 1.0f); D> CallerFinal::call(doubleType,FunctionHolder(), 1.0);
Как мне это вызвать без знания типов здесь ?
Здравствуйте, pilot.net, Вы писали:
PN>А можно ли как-нибудь передать в структуру D2 метод который нужно выполнить ?
нельзя. тут важно понимать, что сам D2 является обработчиком. еще пример: http://ideone.com/LO27uy
вы можете func прямо в него и передвинуть. для каждой func нужен свой D2 =-)
U>нельзя. тут важно понимать, что сам D2 является обработчиком. еще пример: http://ideone.com/LO27uy U>вы можете func прямо в него и передвинуть. для каждой func нужен свой D2 =-)
Я попробовал обернут D2 в макрос вроде работает http://ideone.com/8qsNmV