Свързани въпроси 'functor'

Функционаторът Priority_queue използва C++
Попаднах на някакво странно използване на priority_queue, бих искал да получа някакво подходящо обяснение защо, за бога, е правдоподобно/валидно да се използва нещо подобно в декларацията на priority_queue: typedef...
1558 изгледи
schedule 01.10.2022

Шаблонни функтори, които трябва да се предоставят като аргументи на шаблон
Много бих искал да мога да предоставя функтор като шаблонен аргумент. Функцорите трябва да могат да предоставят "себе си" като този аргумент. Представям си нещо подобно: template<typename T, template<typename> class SumFunctor>...
509 изгледи
schedule 27.11.2023

Защо самите STL функтори са шаблонни, а не техният оператор за извикване на функции?
STL функторите се изпълняват по следния начин: template<class T> struct less{ bool operator()(T const& lhs, T const& rhs){ return lhs < rhs; } }; Това ни кара да споменаваме (вероятно дългия) тип всеки път, когато...
712 изгледи
schedule 07.12.2023

Защо получавам тази грешка „предеклариран като различен вид символ“?
Имам функтор като този, class PrintParentheses { public: PrintParentheses(unsigned pairsCount) {} void operator ()() {} }; Вътре main() го използвам като, #include <iostream> int main() { unsigned pairsCount = 0;...
10231 изгледи
schedule 03.12.2023

Бихте ли ми обяснили функторите на OCaml?
Възможен дубликат: Във функционалното програмиране какво е функтор? Не знам много за OCaml, изучавал съм F# известно време и го разбирам напълно. Те казват, че F# пропуска функторния модел, който присъства в OCaml. Опитах се да...
9085 изгледи
schedule 29.12.2023

Помощ за разбирането на работата на функционалните обекти?
Намерих този код в Wikipedia class compare_class { public: bool operator()(int A, int B) const { return A < B; } }; ... // Declaration of C++ sorting function. template <class ComparisonFunctor> void sort_ints(int*...
190 изгледи
schedule 29.12.2023

C++ stl for_each() и функтор, къде създава нови обекти
Нов съм във functor. Може ли някой да ми обясни в следните кодове кога програмата създава обекти за клас AddValue за всеки елемент от вектора? За мен това, което функцията for_each() трябва да направи, е първо да получи елемент от vec и след това да...
204 изгледи
schedule 17.01.2024

Typealias трябва да бъде обявен за публичен, защото отговаря на изискване в публичния протокол
Внедрявам основен Functor // class Functor f where public protocol Functor { typealias A typealias B typealias FB // fmap :: (a -> b) -> f a -> f b func fmap(f: A -> B) -> FB } public struct Box<X> {...
5192 изгледи
schedule 29.01.2024

Как работят функторите в haskell?
Опитвам се да науча Haskell и съм преминал през всички основи. Но сега съм заседнал, опитвайки се да разбера функторите. Четох, че "Функторът трансформира една категория в друга категория". Какво означава това? Знам, че е много да питам, но...
14040 изгледи
schedule 23.03.2024

Как да съхраня boost::bind обект като членска променлива?
Използвам boost::bind за създаване на съставени функции в движение и се надявам да съхраня обекта като променлива на член на класа за по-късна употреба. Например имаме два функтора: struct add{double operator()(double x, double y) const{return...
613 изгледи
schedule 13.04.2024

Функционаторът на шаблон не може да изведе референтен тип
Имам функтор f, който приема функция func и параметър t от същия тип като func. Не мога да предам g на f поради грешка при компилация (няма съответстваща функция за извикване на f(int&, void (&)(int&)) ). Ако g приеме нереферентен...
1466 изгледи
schedule 17.04.2024

thrust transform, дефиниращ персонализирана двоична функция
Опитвам се да напиша персонализирана функция за извършване на сума. Проследих този въпрос Cuda Thrust Custom function , за да направя справка. Ето как дефинирах своя функтор struct hashElem { int freq; int error; }; //basically this...
2408 изгледи
schedule 10.05.2024