假设我有各种数据类型的结构,我想复制向量中的每个字节。我这样做:
vector<unsigned char> myVector; // get a vector
unsigned char buf[sizeof myStructure]; // get an array
memcpy(&buf, &myStructure, sizeof myStructure); // copy struct to array
myVector.insert(myVector.begin(), buf, buf + sizeof myStructure); // copy array to vector
是否有最快捷的方式允许我将结构myStruct
复制到向量myVector
而不通过数组buf
?
答案 0 :(得分:6)
您可以尝试使用迭代器对构造函数:
auto const ptr = reinterpret_cast<unsigned char*>(&myStructure);
std::vector<unsigned char> myVector( ptr, ptr + sizeof myStructure );