Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我为 ICU 字符串编写了一个包装类,并且我有一个移动感知编译器,但 ICU 不提供移动构造函数。我也找不到可以用来执行这项工作的 swap() 函数。如何为 ICU 字符串实现移动语义?
如果您每次访问字符串时都可以接受指针取消引用的开销(我不会),那么您始终可以将 icu 字符串存储在 a 中std::unique_ptr,那么移动就像移动指针一样简单。
std::unique_ptr
MyWrapper(MyWrapper && that) :str_ptr(std::move(that.str_ptr)) {}
就个人而言,我对实际修改 ICU 源感觉更好。