4

我为 ICU 字符串编写了一个包装类,并且我有一个移动感知编译器,但 ICU 不提供移动构造函数。我也找不到可以用来执行这项工作的 swap() 函数。如何为 ICU 字符串实现移动语义?

4

1 回答 1

4

如果您每次访问字符串时都可以接受指针取消引用的开销(我不会),那么您始终可以将 icu 字符串存储在 a 中std::unique_ptr,那么移动就像移动指针一样简单。

MyWrapper(MyWrapper && that)
    :str_ptr(std::move(that.str_ptr))
{}

就个人而言,我对实际修改 ICU 源感觉更好。

于 2012-05-31T14:41:23.937 回答