在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
會打印出參數的值。