functor

    6热度

    2回答

    我想使用对象实例为模块/函子,更多或更少的,如下所示: abstract class Lattice[E] extends Set[E] { val minimum: E val maximum: E def meet(x: E, y: E): E def join(x: E, y: E): E def neg(x: E): E } clas

    3热度

    4回答

    我正在写一个函数functor F,它接受void(func)(T)和func的参数arg的函数。 template<typename T> void F(void (*func)(T), WhatTypeHere? arg) { func(arg); } 然后functor F调用arg的func。我希望F不要复制arg,只是为了传递它作为参考。但是,我不能简单地写出

    21热度

    5回答

    我最近发现,在C++中,你可以重载“函数调用”运营商,在其中您必须编写两对括号做这样一个奇怪的方式: class A { int n; public: void operator()() const; }; ,然后用它是这样的: A a; a(); 什么时候该用途?

    6热度

    3回答

    我要寻找一个删除其参数函子: template<class T> struct delete_functor { void operator()(T* p) { delete p; } }; 有没有这样的事情在std,tr1或boost?

    3热度

    1回答

    我试图在C++中的自定义结构 struct Book{ public:int H,W,V,i; }; 的矢量用一个简单的仿 class CompareHeight { public: int operator() (Book lhs,Book rhs) { return lhs.H-rhs.H; } }; 排序尝试时: vector<Bo

    11热度

    2回答

    我有这样的代码: #include <iostream> #include <functional> struct A { int operator()(int i) const { std::cout << "F: " << i << std::endl; return i + 1; } }; int main() { A a

    2热度

    1回答

    我需要一个函数指针,它需要两个参数并返回一个字符串。 我想通过一个适配器来包装一个函数,该函数接受一个参数并返回字符串(即放弃其中一个参数)。 我可以简单地构建我自己的适配器,它接受2个参数,调用只传递一个参数的包装函数。 但是我宁愿有一个简单的方法来创建适配器,如果在C++/boost中有一个简单的方法可以这么做吗? 这里的一些细节,使这个多一点具体的: typedef boost::funct

    6热度

    3回答

    我需要调用一个需要函数指针的方法,但是我真正想传递给它的方法是一个函子。这里是什么,我试图做一个例子: #include <iostream> #include "boost/function.hpp" typedef int (*myAdder)(int); int adderFunction(int y) { return(2 + y); } class adderClass {

    5热度

    6回答

    鉴于这种类: class C { private: struct Foo { int key1, key2, value; }; std::vector<Foo> fooList; }; 的这里的想法是,fooList可以通过key1或富结构的key2索引。我正在尝试编写函子来传递给std::find_if,这样我就可

    3热度

    3回答

    我试图附加一个函数对象,用于对模板化类的销毁进行调用。但是,我似乎无法将函数对象作为临时对象传递。我得到的警告(如果注释行xi.data = 5;): warning C4930: 'X<T> xi2(writer (__cdecl *)(void))': prototyped function not called (was a variable definition intended