在多線程領域中呼叫類成員在線程中的class成員函數,在多線程的領域中,遇到線程執行中類的成員函數的需要是常見的。但是,由於C類成員函數中隱藏的“此”參數。
vector
.print,null,null,null);
(tree_item ::*)(void*)'to“ void*(*)(*)(void*)’class C { void *print(void *) { cout 要克服這個障礙,您有兩個選項:靜態類方法
[靜態類方法沒有一個“此”參數,並且可以在沒有類實例的情況下直接調用。這是您可以為Hello函數實現靜態類方法的方法:vectorpthread_create(&t,null,&c :: hello,null);classes; pthread_t t1; classes.push_back(C()); classes.push_back(C()); exterly exply the function''然後可以使用此函數指針來創建線程。
pthread_create(&t1, NULL, &c[0].print, NULL);其中hello_helper的定義為:[&& && && &&華
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3