我有以下代码:
std::list some_data;
...
std::list new_data = std::move(some_data);
some_data.clear();
...
问题是是否some_data.clear()
是必要的? (作为记录,some_data
以后会重复使用)
是的,这是必要的。
仅保证 std 智能指针在移出后处于默认构造状态。
容器处于有效但未指定的状态。这意味着您只能在没有前提条件的情况下调用成员函数,例如clear
,使对象处于完全已知的状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)