私は2つのライブラリで作業しています。1 つは s を受け取って返し、もう 1 つはstd::string
s を使用しstd::vector<unsigned char>
ます。
基になる配列を盗んで、過剰なコピーを行わずに相互に移動できるとstd::string
よいでしょう。std::vector<unsigned char>
ATM 私は次のようなものを使用します。
const unsigned char* raw_memory =
reinterpret_cast<const unsigned char*>(string_value.c_str()),
std::vector<unsigned char>(raw_memory, raw_memory + string_value.size();
そして他の方法:
std::string(
reinterpret_cast<const char*>(&vector_value[0]),
vector_value.size());
以下を定義できる方がはるかに良いでしょう:
std::string move_into(std::vector<unsigned char>&&);
std::vector<unsigned char> move_into(std::string&&);