[英]C++ how can I convert std::vector<std::byte> to const uint8_t *
[英]Cast/Convert const vector<uint8_t> to const vector<char> in c++
在 c++ 中將const vector<uint8_t>
轉換/轉換為const vector<char>
的最高效方法是什么?
這應該有效(未經測試的代碼):
std::vector<uint8_t> v1 = // something;
const char *p = (const char *) v1.data();
std::vector<char> v2(p, p + v1.size());
現在你有兩個向量; uint8_t
之一和chars
之一
一個 memory 分配,一個調用memcpy
。
[后來:@Tito 指出 vector 沒有 (pointer, size) 構造函數(如string
/ span
/ string_view
)重寫示例代碼以使用 (iterator, iterator) 構造函數代替]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.