如何将字符范围从字符数组复制到向量?起始索引始终为 0,并转到某个传递的值 x。我在堆上有 char* 缓冲区(大小为 32*1024),我正在使用该缓冲区接收消息并在变量 x 中设置接收到的消息大小。如何从第 0 个字符复制到第 x 个字符到vector<char> mainBuffer
? (我可以简单地进行迭代,但如果消息很长,它看起来效率低下。另一种方法如下所示,但我总是在每次传递中创建新向量)
char* buffer = new char[32*1024];
int x;
std::vector<std::vector<char> > mainBuffer;
//:loop
// here is some code where I recive message in buffer and set x
mainBuffer.push_back(std::vector<char>(buffer,buffer+x));
//:end loop
有谁知道更有效和优雅的方式来做到这一点?