在C++中,可以使用lambda函数来实现向线程函数传递参数。以下是一个示例代码:
#include <iostream>
#include <thread>
void threadFunc(int param) {
std::cout << "Thread function. Parameter: " << param << std::endl;
}
int main() {
int param = 42;
std::thread myThread([¶m]() {
threadFunc(param);
});
myThread.join();
return 0;
}
在这个示例中,我们使用lambda函数来创建一个线程。lambda函数捕获了param
变量,并作为参数传递给线程函数threadFunc
。在lambda函数内部调用threadFunc
时,使用了捕获的参数param
。
注意,在创建线程时,我们将lambda函数作为参数传递给std::thread
构造函数。lambda函数的参数列表为空,因为我们捕获了外部的param
变量。
这样,我们就成功地向线程函数传递了参数param
。线程函数threadFunc
会打印出参数的值。