![](/img/trans.png)
[英]Possible to convert std::vector of std::pairs into a byte array?
[英]Need to convert std::vector<ButtonElement> buttonList to std::vector<BYTE> byteVector
我需要将 std::vector buttonList 转换为 std::vector byteVector。 我使用这个 memcpy(&byteVector, &buttonList, buttonList.size() * sizeof(TenderButtonList_Element));
但是我的一位前辈提到这不是 STL 的正确用法,但没有确切说明它是什么。 我怀疑 memcpy 不应该用于向量。 上述转换是否有效,我观察到它达到了目的,但想知道它是否有效。 如果不是,你能指出正确的方法吗?
如果不是,你能指出正确的方法吗?
这取决于您要实现的目标。
你有一个TenderButtonList_Element
的序列(一个vector
),对吧?
您希望生成包含与第一个序列相同的位模式的字节序列? 那是对的吗?
如果这就是你所追求的,那么你想要这样的东西:
vector<std::byte> vBytes;
vBytes.resize(buttonList.size() * sizeof(TenderButtonList_Element));
memcpy(vBytes.data(), buttonList.data(), vBytes.size());
如果你想要别的东西,那么你需要说那是什么。
请注意,通常, memcpy
-ing c++ 对象周围不会产生有效对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.