如何複製從字符數組到字符串的字符範圍?起始索引始終爲0並轉到某個傳遞的值x。我在堆上有char *緩衝區(大小爲32 * 1024),我使用該緩衝區接收消息並將變量x中收到的消息大小。如何從第0個字到第x個字複製到vector<char> mainBuffer
? (我可以簡單地重複,但它看起來低效的方式,如果消息是長的。另一種方法是像下面,但後來我總是在每一個傳球創造新的向量)如何複製從char數組到字符串的字符範圍?
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
有誰知道更高效,更優雅的方式來做到這一點?
在C++ 11中,矢量將被移動,所以它不是低效的。 –
你的問題讓我困惑。 'mainBuffer'是'vector'還是'vector >'? –