Có cách nào để ràng buộc các tham số tham số với các con trỏ hàm trong Java như bạn có thể với std :: bind trong C++ không? Java tương đương với cái gì như thế này?Tương đương với std :: C++ trong C++ của C++?
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;
}
+1: Vâng, tốt hơn tôi – Aubin