下列要求:移動語義閒置性病的存在::移動
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream f;
ifstream g;
f = std::move(g);
}
爲什麼ifstream::operator=(const ifstream
&)
被調用,而不是ifstream::operator=(ifstream
& &)
即使std::move()
叫?
更新:一般來說,有沒有辦法將左值引用強制爲右值引用?
'istream :: operator =(istream &&)'是否存在? – iammilind
@iammilind看到sehe的回答。 – moshbear
@iammilind:是的,但它是受保護的(請參閱第27.7.2.1.2節basic_istream賦值和交換) – sehe