Chciałbym zaimplementować wywołanie funkcji, które działa tak jak konstruktor thread
. Na przykładWywołanie funkcji uniwersalnej C++
std::thread second (bar,0);
rozpocznie wątku, który wywołuje bar
z jednym argumentem 0
. Chciałbym zrobić to samo, ale nie wiem jak.
Na przykład, biorąc pod uwagę:
void myFunc(int a){
cout << a << endl;
}
Chciałbym:
int main() {
caller(myFunc,12);
}
zadzwonić myFunc
z parametrem 12
.
'std :: function' i' std :: bind'? –
rozważyć sygnał/gniazdo? – user3528438
Dla C++ 17, będzie ['std :: invoke()'] (http://en.cppreference.com/w/cpp/utility/functional/invoke), który robi dokładnie to. – DanielKO