c++ - 在 STL 中将 char 缓冲区附加到 vector<char>

标签 c++ stl vector

将 C 缓冲区 ( char * ) 的内容附加到 std::vector<char> 末尾的正确(有效)方法是什么? ?

最佳答案

当您有 vector<char>可用,您最好调用vector<char>::insert方法:

std::vector<char> vec;

const char* values="values";
const char* end = values + strlen( values );

vec.insert( vec.end(), values, end );

将其委托(delegate)给 vector 优于使用 back_inserter因为 vector 可以决定它的最终大小。 back_inserter只会 push_back ,可能会导致更多的重新分配。

关于c++ - 在 STL 中将 char 缓冲区附加到 vector<char>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399666/

相关文章:

基于 C++ 非迭代器的范围库?

C++ map 插入和查找性能和存储开销

c - 点积两个数组

c++ - vector 的 reserve() 的奇怪之处

c - 将 vector A 按逆序转置为 B

c++ - 静态 QApplication 变量使 Mac 在退出时报告崩溃

c++ - std::vector<A> 与 std::vector<A*> CPU 的区别

c++ - 更快地将 Halide 图像转换为 opencv mat?

c++ - 字符串实现的排列问题

c++ - 在 Linux 中调试 C++