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

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • Evan Coury

    Evan Coury

    29 NİSAN 2007