2010-03-09 2 views
3

Текст накапливается по частям перед отправкой клиенту.C++: лучший текстовый накопитель

Теперь мы используем собственный класс, который выделяет память для каждой части как массив массива. (В любом случае, работает как char[][] + std::list<char*>).

Затем мы строим всю строку, преобразуем ее в std :: sting, а затем создаем boost::asio::streambuf, используя ее. Я предполагаю, что это достаточно медленно. Поправьте меня если я ошибаюсь.

Я знаю, во многих случаях простой FILE тип от stdio.h используется. Как это работает? Выделяет память при каждой записи в нее. Итак, это быстрее и есть ли способ читать в boost::asio::streambuf от FILE?

ADD: Hm. Я забыл одну большую вещь :). Компиляция DLL и основного приложения выполняется в нескольких компиляторах, поэтому в ней не должно быть никаких stl-файлов внутри ... Потому что это обычно вызывает много проблем при выполнении DLL.

+0

Хах, даже один комментарий :) –

+0

Мой вопрос, как представляется, плохо сформулированы ? –

ответ

3

Я понятия не имею, насколько эффективно она есть, но я обычно использую ostringstream для такого рода вещи

+0

То же самое здесь, он выполняет свою работу и встроен (никаких дополнительных библиотек не требуется) просто #include . – Amos

+0

Мне не нравятся операции, отличные от stdio.h I \ O, вот что я имел в виду, говоря типа FILE из stdio.h. Это должно быть быстрее. (Не нравится потоки I \ O, во всяком случае.) –

+0

Почему вы предполагаете, что это должно быть быстрее? Библиотека C++ построена на одних и тех же базовых функциях и написана некоторыми очень умными людьми, которые, возможно, оптимизируют вещи лучше вас или меня. – psm321

1

Заканчивать http://www.sgi.com/tech/stl/Rope.html

+0

Отличная вещь. Мне просто нужно проверить содержимое stl внутри него. И сравните скорость веревки, тип FILE и наши вещи (я предполагаю, что веревка, поскольку сложный проект большой группы программистов должен работать быстрее). Благодарю. –

+0

hah) Я собирался проверить содержание stl в этой вещи :)). Никогда не знал о таком контейнере stl. –

Смежные вопросы