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

  • BrandonHarrisWalker

    BrandonHarri

    27 Kasım 2006
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • The Computer Chronicles

    The Computer

    7 Kasım 2012