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 文字列用のラッパー クラスを作成し、move 対応コンパイラを使用しましたが、ICU には move コンストラクタがありません。また、このジョブの実行に使用できる swap() 関数も見つかりませんでした。ICU 文字列の移動セマンティクスを実装するにはどうすればよいですか?
文字列にアクセスするたびにポインターの逆参照のオーバーヘッドに問題がなければ (私はそうではありません)、いつでも icu 文字列を に格納できますstd::unique_ptr。その後、移動はポインターを移動するのと同じくらい簡単です。
std::unique_ptr
MyWrapper(MyWrapper && that) :str_ptr(std::move(that.str_ptr)) {}
個人的には、実際に ICU のソースを変更したほうがよいと思います。