在C#的奇妙世界中,我可以创建一个内存流而不指定其大小,写入数据,然后只需获取底层缓冲区即可。
那么在C++中如何做到相同的效果呢?基本上我需要做以下操作:
那么在C++中如何做到相同的效果呢?基本上我需要做以下操作:
memory_stream ms(GROW_AS_MUCH_AS_YOU_LIKE);
ms << someLargeObjects << someSmallObjects << someObjectsWhosSizeIDontKnow;
unsigned char* buffer = ms.GetBuffer();
int bufferSize = ms.GetBufferSize();
rawNetworkSocket.Send(buffer, bufferSize);
顺便说一下,我的项目中使用了boost,虽然我并不是很熟悉它。
谢谢。