我有一个关于std::vector类型的简单问题。根本问题很简单:我有一个函数可以将数据流读入缓冲区(以及获取缓冲区的大小),然后将该数据作为向量返回。集合元素的类型是固定的,uint8_t。我的问题是,有没有比走缓冲区更好的方法来填充向量?
这是我天真、轻率的代码:
uint8_t* buffer;
size_t size;
stream->readBuffer(buffer, size); // I don't own the stream class
std::vector<uint8_t> output(size);
for (size_t i = 0; i < currentChunkLength; i++)
{
output.push_back(buffer[i]);
}
return output;