在发送给客户端之前,文本会逐渐累积。
现在我们使用自己的类为每个 block 分配内存作为 char massive。 (无论如何,就像 char[][]
+ std::list<char*>
一样)。
然后我们构建整个字符串,将其转换为 std::sting 然后创建 boost::asio::streambuf
使用它。这已经够慢了,我想。如果我错了,请纠正我。
我知道,在很多情况下很简单FILE
从 stdio.h
输入用来。它是如何工作的?在每次写入时分配内存。那么,它是否更快,有没有办法读入 boost::asio::streambuf
来自 FILE
?
添加:嗯。我忘记了一件大事 :)。 dll 和主要应用程序的编译是在少数编译器下进行的,所以它里面应该没有 STL 的东西......因为它通常会在执行 dll 时引起很多问题。
最佳答案
我不知道它的效率如何,但我通常使用 ostringstream 来做这类事情
关于performance - C++ : Best text accumulator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2409718/