Вопросы по теме 'functor'
Не могли бы вы объяснить мне функторы OCaml?
Возможный дубликат: Что в функциональном программировании такое функтор?
Я мало что знаю об OCaml, я некоторое время изучал F # и хорошо его понимаю.
Говорят, что в F # отсутствует модель функторов, которая присутствует в OCaml. Я...
9085 просмотров
schedule
29.12.2023
Функтор шаблона не может определить ссылочный тип
У меня есть функтор f, который принимает функцию func и параметр t того же типа, что и func. Я не могу передать g в f из-за ошибки компиляции (нет соответствующей функции для вызова f(int&, void (&)(int&)) ). Если g примет не ссылочный...
1466 просмотров
schedule
17.04.2024
Помогите понять работу функциональных объектов?
Я нашел этот код в Википедии .
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
Почему сами функторы STL шаблонны, а не их оператор вызова функции?
Функторы STL реализованы следующим образом:
template<class T>
struct less{
bool operator()(T const& lhs, T const& rhs){
return lhs < rhs;
}
};
Это заставляет нас упоминать тип (возможно, длинный) каждый раз, когда мы...
712 просмотров
schedule
07.12.2023
Функторы шаблонов, которые должны предоставлять себя в качестве аргументов шаблона
Я бы очень хотел иметь возможность предоставить функтор в качестве аргумента шаблона. Функторы должны иметь возможность предоставить «себя» в качестве этого аргумента.
Я представляю что-то вроде этого:
template<typename T,...
509 просмотров
schedule
27.11.2023
Почему я получаю эту ошибку «переобъявлен как символ другого типа»?
У меня есть такой функтор,
class PrintParentheses
{
public:
PrintParentheses(unsigned pairsCount)
{}
void operator ()() {}
};
Внутри main() я использую его так:
#include <iostream>
int main()
{
unsigned pairsCount...
10231 просмотров
schedule
03.12.2023
Как функторы работают в haskell?
Я пытаюсь изучить Haskell, и я изучил все основы. Но теперь я застрял, пытаясь разобраться в функторах.
Я читал, что «Функтор преобразует одну категорию в другую категорию». Что это значит?
Я знаю, что это много вопросов, но может ли...
14040 просмотров
schedule
23.03.2024
преобразование тяги, определяющее пользовательскую двоичную функцию
Я пытаюсь написать пользовательскую функцию для выполнения суммы. Я следил за этим вопросом Пользовательская функция Cuda Thrust , чтобы взять ссылку. Вот как я определил свой функтор
struct hashElem
{
int freq;
int error;
};
//basically...
2408 просмотров
schedule
10.05.2024
Как сохранить объект boost::bind как переменную-член?
Я использую boost::bind для создания составных функций «на лету» и надеюсь сохранить объект как некоторую переменную-член класса для последующего использования. Например, у нас есть два функтора:
struct add{double operator()(double x, double y)...
613 просмотров
schedule
13.04.2024
Функтор Priority_queue использует C++
Я наткнулся на какое-то странное использование priority_queue, я хотел бы получить какое-то правильное объяснение того, почему правдоподобно/действительно использовать что-то подобное в объявлении priority_queue:
typedef...
1558 просмотров
schedule
01.10.2022
'Default Behavior' для рекурсивных типов данных Haskell
Я пытаюсь написать решатель пропозициональной логики на Haskell. Я представляю логические выражения с рекурсивным типом данных под названием «Sentence», который имеет несколько подтипов для различных операций - «AndSentence», «OrSentence» и т. Д....
143 просмотров
schedule
05.06.2024
C++ stl for_each() и функтор, где он создает новые объекты
Я новичок в функторе. Может ли кто-нибудь объяснить мне в следующих кодах, когда программа создает объекты для класса AddValue для каждого элемента вектора? Для меня функция for_each() должна сначала получить элемент из vec, а затем создать новый...
204 просмотров
schedule
17.01.2024
Псевдоним типа должен быть объявлен общедоступным, поскольку он соответствует требованию общедоступного протокола.
Я реализую базовый 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
Исправление определения типа для определения экземпляра Functor
Я пытаюсь определить тип с двумя параметрами i и m . Я хочу специализировать этот тип, исправляя два конкретных экземпляра, которые фиксируют параметр m. На данный момент у меня есть следующие определения:
-- | ZadehMembership: represents a...
110 просмотров
schedule
30.05.2024
Реализация (типизированного) комбинатора K в C++
Я пытаюсь реализовать комбинатор K из исчисления комбинатора SK на С++. Комбинатор K — это функция высшего порядка , которая обычно принимает некоторое значение x и возвращает что-то который в свою очередь принимает значение y и возвращает...
247 просмотров
schedule
28.01.2024
Псевдоним параметризованного типа для бифункторов
У меня есть Seq[R] , и я хочу разделить это на Tuple2[Seq[E], Seq[S]] , пока я кодировал это, я подумал о том, что могу использовать пользовательский Bifunctor для кортежа последовательностей, и в качестве упражнения попытался закодировать это:...
82 просмотров
schedule
28.01.2024
Предотвратить доступ функции друга к частному члену класса
Как мы можем предотвратить доступ функции друга к частному члену класса. Можем ли мы вообще это сделать?
Этот вопрос был задан в интервью, и он был уверен, что это можно сделать, он намекнул на объект функтора/функции. Пока ничего не могу...
351 просмотров
schedule
05.06.2024
Почему `fmap sum Just` проверяет тип?
Мы знаем, что fmap — это fmap :: Functor f => (a -> b) -> f a -> f b , а sum — это sum :: (Num a, Foldable t) => t a -> a , но приведенный ниже код меня смущает.
> :t (fmap sum Just)
(fmap sum Just) :: Num b => b...
174 просмотров
schedule
07.05.2024
Почему присоединяется. (flip fmap) имеют тип ((A -> B) -> A) -> (A -> B) -> B?
Некоторые эксперименты с функторами и монадами в ghci привели меня к значению, тип и поведение которого я хотел бы лучше понять.
Тип \x -> join . x — (Monad m) => (a -> m (m b)) -> (a -> m b) , а тип \y -> y . (flip fmap) — (Functor f) => ((a...
200 просмотров
schedule
19.03.2024
Одна и та же функция сравнения дает разные результаты для сортировки и приоритетной очереди в C++
Я пытаюсь понять, как работает пользовательская функция сравнения в STL. Я написал программу ниже и передал пользовательскую функцию функции сортировки STL и очереди приоритетов. Я ожидал, что оба результата будут отсортированы в порядке...
431 просмотров
schedule
18.11.2022