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

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • dirkgently1

    dirkgently1

    13 NİSAN 2006
  • Kayla Caton - Peet

    Kayla Caton

    23 HAZİRAN 2012