Qt kaynakları gezen ve ben "Bu" daha önce atama görmedim buBu işe atama ne yapar (* this = val)?
QUuid &operator=(const GUID &guid)
{
*this = QUuid(guid);
return *this;
}
fark edilmiştir. "Bu" a atama ne yapar?
Qt kaynakları gezen ve ben "Bu" daha önce atama görmedim buBu işe atama ne yapar (* this = val)?
QUuid &operator=(const GUID &guid)
{
*this = QUuid(guid);
return *this;
}
fark edilmiştir. "Bu" a atama ne yapar?
Bu, this
numaralı bir ödev değil, this
tarafından işaret edilen nesneye atanmamıştır. Bu, geçerli nesne üzerinde operator=(QUuid const &)
'u etkili bir şekilde arayacaktır.
Sadece QUuid &operator=(const QUuid& quUid);
numaralı telefonu çağırıyor.
'this', geçerli yöntemin çalıştırıldığı nesnenin yalnızca bir işaretçisidir. 'Bu' ardındaki değerin değiştirilmesi (* this’i kullanarak imlecin kaldırılması ve başka bir nesne atanmasıyla), arayanın nesnesinin bir diğerine dönüşmesini sağlar. türde yeni nesnesine 'operatörü =' Bu eylem kopyalamaya karşı dönüştüren 'guid' tanımına göre
GUID guid = guid(...) ;
QUuid uid = guid ;
: En örnekte
, bir arayan 'operatörü =' Aşağıdaki yapabilir 'QUuid'.
veya örtülü olan (herhangi bir görev tanımlayıcısı tanımlanmamışsa) – smerlin
@smerlin: Operatörün açıkça kullanıcı tarafından tanımlanıp tanımlanmadığı veya derleyici tarafından örtük olarak tanımlanıp tanımlanmadığı, daha fazla uygulama detayıdır, aynı operatördür. –
BTW, '* this = QUuid (guid);' kodu, daha açık ve hantaldır: 'this-> operator = (QUuid (guid))'… bu, cevabı herhangi bir şekilde etkilemez. –