将struct复制到vector

时间:2014-05-31 11:13:30

标签: c++ vector struct

假设我有各种数据类型的结构,我想复制向量中的每个字节。我这样做:

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

1 个答案:

答案 0 :(得分:6)

您可以尝试使用迭代器对构造函数:

auto const ptr = reinterpret_cast<unsigned char*>(&myStructure);

std::vector<unsigned char> myVector( ptr, ptr + sizeof myStructure );