SORU
24 NİSAN 2011, Pazar


RValue Başvuru (&&) a dönmek yararlı olduğu herhangi bir durum var mı?

Bir fonksiyon ne zaman bir nedeni vardırRValue Başvuru dönmelidir? Bir tekniği, ya hile, ya da deyim ya da kalıp mı?

MyClass&& func( ... );

Genel olarak tehlike returning references, ama bazen yine de biz, biz yok (sadece bir örnek olarak deyimselT& T::operator=(T)) farkındayım. Ama nasıl T&& func(...)? Çıkmak bir genel yer var mı? Bir Kütüphane veya API kodu yazdığında muhtemelen farklı, sadece istemci koda göre? -- sadece bir fikir.

CEVAP
24 NİSAN 2011, Pazar


Uygun olduğunda bir kaç durum vardır, ama nispeten nadirdir. Bu durumda istemci veri üyesi taşımak için izin vermek istediğiniz zaman bir örnek geliyor. Örneğin:

template <class Iter>
class move_iterator
{
private:
    Iter i_;
public:
    ...
    value_type&& operator*() const {return std::move(*i_);}
    ...
};

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fufko

    fufko

    27 ŞUBAT 2006
  • SVB International

    SVB Internat

    29 EKİM 2011
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012