可以使用以下代码将vector转换为普通数组:

vector<unsigned char> vec = {0x01, 0x02, 0x03, 0x04};
unsigned char* arr = &vec[0];
int size = vec.size();

在这个例子中,我们将vector vec初始化为{0x01, 0x02, 0x03, 0x04},然后使用&vec[0]获取vec的底层指针,并将其分配给unsigned char* arr。最后,我们还使用vec.size()获取向量的大小,并将其存储在变量size中,以便在处理数组时使用。

注意,这种方法假定向量是连续存储的,这在大多数情况下是正确的,但也有例外情况。如果向量不是连续存储的,那么将其转换为普通数组可能会导致未定义的行为。

c++ vectorunsigned char array 转换成 普通数组

原文地址: https://www.cveoy.top/t/topic/ebIJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录