簡體   English   中英

轉換/轉換 const 向量<uint8_t>為常量向量<char>在 c++</char></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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM