小编use*_*658的帖子

Java中C++的std :: bind的等价物?

有没有办法将参数参数绑定到Java中的函数指针,就像在C++中使用std :: bind一样?Java相当于这样的东西是什么?

void PrintStringInt(const char * s, int n)
{
    std::cout << s << ", " << n << std::endl;
}

void PrintStringString(const char * s, const char * s2)
{
    std::cout << s << ", " << s2 << std::endl;
}

int main()
{
    std::vector<std::function<void(const char *)>> funcs;
    funcs.push_back(std::bind(&PrintStringInt, std::placeholders::_1, 4));
    funcs.push_back(std::bind(&PrintStringString, std::placeholders::_1, "bar"));
    for(auto i = funcs.begin(); i != funcs.end(); ++i){
        (*i)("foo");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ java functional-programming bind

6
推荐指数
1
解决办法
2050
查看次数

标签 统计

bind ×1

c++ ×1

functional-programming ×1

java ×1