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

  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • Moto Journal

    Moto Journal

    28 Mayıs 2007
  • pucksz

    pucksz

    24 Mart 2006