将 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/