傳遞臨時物件作為引數
vs ****f+f9
檢視變數
void myprint(const int &t, char *j)
int main()
指標在detach中絕對有問題,傳引用也是傳的複製。
其中,傳已有變數的時候,a的析構函式只執行了一次。
所以,要傳物件得使用臨時物件。因為臨時物件是在主線程中建立的。
(1)若傳的是簡單引數,直接值傳遞,不要用引用。
(2)如果傳遞的是類物件,避免隱式型別轉換。然後在函式引數裡面,採用引用傳參,否則,還會多一次拷貝構造。
所以,detach()有什麼好。
執行緒id:get.id()
class a
而且絕對不能detach()。用成員函式作為執行緒函式。 執行緒傳參詳解,detach的坑
include include includeusing namespace std 執行緒id 每個執行緒都有一串唯一的數字來標識,這串數字就是執行緒id。可通過std this thread get id 來獲取。detach時 1.如果傳遞int這種簡單型別引數,建議都是值傳遞,不要用引用 可...
關於執行緒傳參
向執行緒裡面傳遞引數,在專案中,單獨起乙個執行緒,很多情況都需要向執行緒裡面傳遞一些引數,例如,我在專案中向多人傳送郵件,本想起乙個執行緒,把需要傳送的內容以及傳送的郵箱傳遞進去,我原來使用的方法是把這個物件作為乙個static的,然後再去直接獲取,後來發現靜態變數使用過多,會導致記憶體使用過多,消...
多執行緒傳參
1.要避免的陷阱 1 用detach 時,如果主線程先結束,變數就會被 所以用detach 的話,不推薦用引用,同時絕對不能用指標。include include using namespace std void myprint const int i,char pmybuf intmain 2 在...