Hareketli bir dönüşüm işlecinin sözdizimi nedir? Bir dönüşüm işlecinin semantik dizisini taşıma
class wrap {
public:
operator obj() { ... }
private:
obj data_;
};
nasıl data_
öğrenebilirim
obj
dönüşüm operatörü vardır etrafında
obj
sarar bir sarmalayıcı var?
class wrap {
public:
operator obj() const & { ... } //Copy from me.
operator obj() && { ... } //Move from me.
private:
obj data_;
};
ikinci versiyonu olarak adlandırılan olamaz zaman ilk sürümü çağrılır (yani: wrap
örneği dönüştürülen geçici olmadığı veya yoktur
Yine de "data_" öğesini bir "std :: string" içine nasıl taşıyabilirsiniz? Eğer data_ 'std :: string' ise, bu soru çok daha anlamlı olur. – ildjarn
@ildjarn, özellikle char * veya std :: string hakkında değil, dönüşüm operatörünün taşıt anlamsallığını anlatmaktır. –
Tamam, bu daha mantıklı. İlk örneğiniz olarak mümkün olan en kötü veri türünü seçtiniz. ; -] – ildjarn