2017-01-19 91 views
0

我有一個QThread指針(向量)作爲類成員的向量。我想聲明這個類的複製構造函數。現在我想「深度複製」矢量的內容。 QThread API沒有它自己的拷貝構造函數,所以我想知道如何「複製」指針向量的內容。 memcpy是做這件事的最好方法嗎?有沒有其他可用的API比memcpy更好地解決這個問題?在複製構造函數中使用memcpy複製QThread指針

+4

複製一個線程沒有多大意義。你到底想用這個副本達到什麼目的? – Mat

+1

通常,memcpy與深層副本完全相反 –

+4

如果某個類沒有複製構造函數,那麼這是一個很好的表示,您不應該複製它。 –

回答

3

我不認爲你應該對這堂課進行深層次的複製。 「深度複製」QThread的概念是沒有意義的,因爲每個QThread實例都擁有/管理系統級線程,其狀態不能簡單地複製到另一個對象。

聽起來你正在複製的類是你的應用程序的一個相當不可或缺的組件,因此複製它似乎不合理。複製構造函數在基本上基於數據的類上更趨於合理。

沿着這條路走下去是有道理的唯一方法是複製指針本身,而不是QThread對象本身,但出於前面提到的原因,我會非常小心,並仔細考慮爲什麼你是這樣做。