enable_shared_from_this faydası nedir
Destek okurken enable_shared_from_this
karşılaştım.* Örnekler ve ben belgeleri okuduktan sonra hala bu doğru kullanılması gerektiği konusunda kaybetti. Biri bana bu sınıfı kullanarak mantıklı zaman örnek ve/veya ve bir açıklama verebilir.
CEVAP
Sahip olduğun tüm this
this
shared_ptr
geçerli bir örnek almak sağlar. O olmadan, sen zaten bir üye gibi biri olmadığı sürece this
shared_ptr
bir almanın hiçbir yolu yoktur. boost documentation for enable_shared_from_this Bu örnek:
class Y: public enable_shared_from_this<Y>
{
public:
shared_ptr<Y> f()
{
return shared_from_this();
}
}
int main()
{
shared_ptr<Y> p(new Y);
shared_ptr<Y> q = p->f();
assert(p == q);
assert(!(p < q || q < p)); // p and q must share ownership
}
Bu yöntem, f() işlevi, geçerli bir üyesi bir örneği olmasına rağmen shared_ptr
,. Sadece bunu yapamazsınız unutmayın:
class Y: public enable_shared_from_this<Y>
{
public:
shared_ptr<Y> f()
{
return shared_ptr<Y>(this);
}
}
Bu iade paylaşılan işaretçi", ve bunlardan biri kaybetme sona erecek ve nesne silindiğinde sarkan bir referans taşıyor." uygun farklı bir başvuru sayısı olacak
enable_shared_from_this
aynı zamanda dayanıklılık ve oradan yeni C 0x standart bir parçası olacak.
Özel olarak yıkıcı olan faydası nedir?...
Statik kurucular faydası nedir?...
Bir sınıfta yapıcı Özel yapım faydası ...
Kullanmanın faydası "SET XACT_ABO...
=&Quot;clear:both" tarzı faydası n...