1. 程式人生 > >【Qt】訊號和槽對值傳遞引數和引用傳遞引數的總結

【Qt】訊號和槽對值傳遞引數和引用傳遞引數的總結

在同一個執行緒中

當訊號和槽都在同一個執行緒中時,值傳遞引數和引用傳遞引數有區別:
值傳遞會複製物件;(測試時,列印傳遞前後的地址不同)
引用傳遞不會複製物件;(測試時,列印傳遞前後的地址相同)

不在同一個執行緒中

當訊號和槽不在同一個執行緒中時,分兩種情況。
1、connect時使用AutoConnection(跨執行緒預設是QueuedConnection):值傳遞引數和引用傳遞引數沒有區別,都會複製物件;(測試時,列印傳遞前後的地址不同)
2、connect時使用DirectConnection,測試結果和在同一執行緒中的結果相同

其它情況待測試