Bu çok anlamsız olurdu. İşteki şeyi değiştirirsiniz, ve değişiklik hemen kaybedilir çünkü şey aslında bir geçiciydi. Yeni tipin sebebi, gerçekte bir rengin ve neyin gerçekte olduğuna karar verilebilmesi ihtiyacından kaynaklanmaktadır. Ancak o zaman onları, kullandıkları güzel şeyler için kullanabilirsiniz. 'Bazı rvalue var ve işlev toupper geçirirseniz biz geçici yine bir kullanılıp atılan şey olduğunu biliyorum çünkü Şimdi
string toupper(string && s) { // for nonconst rvalues
for(char &c : s) make_uppercase(c);
return move(s); // move s into a returned string object
}
string toupper(string const& s) { // for the rest
// calls the rvalue reference version, by passing
// an rvalue copy.
return toupper(string(s));
}
, rvalue doğrudan değiştirilebilir, bu yüzden onu ve don değiştirmek sadece lutfen edebilirsiniz kopyalamalısın. Aynı zamanda, hareket gözlemcileri ve hareket atama olarak adlandırılan şey için de aynı gözlem kullanılır. Sağ taraf kopyalanmadı, ancak eşyaları çalındı ve *this
'a taşındı.
Eğer rvalues'in const olmayan lvalue referanslarına bağlanabileceğini söyleyecekseniz, bunun bir lvalue (adlandırılmış nesne) veya sondaki bir rengin (geçici) olduğunu anlamanızın hiçbir yolu yoktur.
Muhtemelen daha küçük biliyorum, ama yine de kullanışlı, üye fonksiyonu üzerine lvalue veya rvalue ref-eleme koyabilirsiniz. İşte doğal olarak örtük nesne parametresine rvalue referansların mevcut semantiğini uzanan bir örnek vardır: Artık
struct string {
string& operator=(string const& other) & { /* ... */ }
};
, artık diyemeyiz kafa karıştırıcı ve yapım gerçekten değil
string() = "hello";
çoğu zaman hissetmek. Yukarıdaki &
, atama operatörünün sadece lvalues üzerinde çalıştırılabileceğini söylüyor. Aynı şey &&
koyarak rıvalılar için yapılabilir.
Neden bu 3 oy oyu ama 7 favoriler var merak ediyorum. Hiç oy vermeden bir soruyu desteklediğimi sanmıyorum (oyların dışında kaldığım sürece veya kilitli olmadıkça). – Zifre
Neden birinin bir şekilde düşündüğünü merak ediyorum ve sonra diğerlerinin yaptığı gibi yapmasını bekler. – user534498
Neden "güzel olmanın ve nezaket" vermenin mantıksız bir beklenti olduğunu merak ediyorum. –