-2
如何克隆弱指針?如何克隆C++中的弱指針對象
class Distance
{
public:
int height;
};
main()
{
weak pointer <Distance> p;
p->height = 12;
weak pointer <Distance> a;
a = p;
a->height = 34;
}
這裏的時候,A->高度爲10,那麼即使P->高度變成10.我不想對象P的高度可能性。 任何人都可以告訴如何克隆弱指針?
你所說的 「弱指針」 是什麼意思? '的std :: weak_ptr'? – Holt
yes.std :: weak_ptr – Chaya
你不能默認初始化'std :: weak_ptr',並且你不能在'std :: weak_ptr'上使用'p-> whatever',你需要先鎖定它。 'std :: weak_ptr'是指針,與任何指針類型一樣,'a = p;'拷貝指針,而不是指向的內容。如果你想複製內容,你需要'* a = * p;',但是你不能用'weak_ptr'來完成,你需要在''''lock''前鎖定'a'和'p'。 – Holt