2013-09-29 75 views

回答

1

簡短的回答是「從不」。

但是,你確實可以寫這樣的功能:

Foo const f(); 

現在像Foo x = f();會使用Foo const &&構造函數(如果可用)。但它也會很好地綁定到Foo const &構造函數,並且由於兩個引用都是常量,所以實際上不需要右值版本。

特別是,關於該構造函數的「移動」是多餘的,因爲正如我們所建立的那樣,參考是不變的。

+0

是迂腐的,引用const的事實並不妨礙你移動一些「可變」資源。 (當然,即使在使用'const X &&'時,它仍然被稱爲12.8/3中的'移動構造函數') – Cubbi

相關問題