我为ICU字符串编写了一个包装类,我有一个移动感知编译器,但ICU没有提供移动构造函数。我也无法找到我可以用来执行这项工作的swap()函数。如何为ICU字符串实现移动语义?
答案 0 :(得分:4)
如果你每次访问字符串时我都没有指针取消引用的开销(我不会),你总是可以将icu字符串存储在std::unique_ptr
中,然后移动就像移动指针。
MyWrapper(MyWrapper && that)
:str_ptr(std::move(that.str_ptr))
{}
就个人而言,我对实际修改ICU来源感觉更好。