阵列分配后跟 memcpy 或带储备的向量



>我有一个要压缩的字节数组。平均大小为 400 字节)。我有两个选择。我保留了一个 400 字节的数组,并在其中填充位。最后说压缩大小是 300 字节,所以我使用 memcpy 将这些字节复制到大小为 300 的数组并发送。否则,我可以保留一个向量并保留 400 字节并使用push_back。(在这里我可以避免记忆)。我每秒得到大量的数组。因此,在性能关键型场景中,哪种选择将提供更好的性能?

如果需要快速,您绝对不希望一次push_back一个单独的字节; 您想进行批量传输,就像memcpy所做的那样。 但是你可以使用 std::copy ,它应该同样有效。 对于像charint这样的基元类型,将std::vectorstd::copy一起使用基本上是原始数组之上的一层,memcpy

最新更新