将结构体复制到vector
Copy struct to vector
假设我有一个各种数据类型的结构,我想将每个字节复制到一个向量中。我这样做:
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
?
您可以尝试使用迭代器对构造函数:
auto const ptr = reinterpret_cast<unsigned char*>(&myStructure);
std::vector<unsigned char> myVector( ptr, ptr + sizeof myStructure );
相关文章:
- 创建一个没有复制构造函数的类的 std::vector 的 std::vector
- 使用赋值运算符复制 std::vector
- 除了 std::vector 之外,是否有一个 std 容器不会复制和销毁作为类的元素?
- 将 Vector<String > 元素复制到其他 Vector<String>* (1 作为
- push_back std::vector,则重复调用复制构造函数
- 如何使用 CUDA 将 std::vector<std::string> 复制到 GPU 设备
- 双重调用传递给 std::vector::emplace_back 的类的复制构造函数
- std::vector 是否有用于引用的复制构造函数?
- 如何禁用Visual Studio警告C4244,用于std::vector复制或使用隐式缩小转换进行赋值
- 根据条件将元素从 std::vector 复制到 std::set 但它崩溃了
- 将数据从 std::vector 复制到 Eigen's MatrixXd in C++
- 将std :: vector复制到std :: array
- 仅在发布版本中出错,从 std::vector 复制结构
- 将std::vector复制到qvector
- 如何将boost::numeric::ublas::vector复制到矩阵
- c++ vector复制赋值,调用其元素的复制机制
- 有趣的std::从std::vector复制到std::string的行为
- 使用memcpy将std::vector复制到protobuf中的重复字段
- 将 std::map<int, vector> 复制到 std::<int>map<std:string, vector<int>>
- 基于条件从vector复制元素