次のコードは、MSVC2010 でコンパイルして実行できますか?
const std::string s = "foo";
std::string s2(std::move(s));
s の内部を使用する場合、誰もそれを使用しないことを知っておく必要があるため、const を削除してもかまわないので、これがおそらく何も壊さない理由がわかります。しかし、コンパイラが ROM (組み込みアプリケーション) で const オブジェクトを実装する場所についてはどうでしょうか? その場合、移動はコピーになりますか?または、MSVC がエラーを表示する必要がありますか?