move语义移动后的状态

https://blog.csdn.net/gg_18826075157/article/details/71889042

移动之后的状态?

如果要找出十分准确的答案,其实是挺麻烦的。C++11的标准类库的说法就是——“仍然有效,但状态不明”,实际上一般情况下为空,但并不能保证。以string为例说明。

std::string t = "xmas", u;
u = std::move(t);

// OK: t = "X";  再赋值是没有问题的,因为仍然有效
// OK: t.size() ; 求大小也没问题,但不能保证得到是什么
// NG: t[2];     有可能报错,因为有可能是空的

你可能感兴趣的:(c++)