crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Буфер для обмена между классами
Sokoloff
  опции профиля:
сообщение 16.4.2009, 19:32
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Вот подскажите как лучше сделать.

Есть 2 класса один генерит постскрипт, и передает его во второй класс, которй рендерит этот ps с помощью ghostscript.
Вопрос в том, как лучше передавать постскрипт, что использовать в качестве буфера.

Варианты QString и QByteArray я сразу отверг, т.к постскрипт в первом классе генериться по частям (отельно заголовок, отдельно тело и.т.д.) и общий размер я заранее не знаю, а перевыделять память при каждом добавлении IMHO это не хорошо.

Вариант с QStringList вроде очевиден, класс специально создан для хранения больших текстовых данны. Но, внутри у него QString, т.е. используется UTF16, а postscript это ASCII, ghostscript тоже принимает char*, соответственно имеем лишний расход памяти, и ненужное преобразование ASCII->UTF16->ASCII. Не аккуратненько как-то.

Можно использовать QList<QByteArray>, вроде никаких проблем, но не так очевидно как с QStringList.

Еще есть вариант (и он, даже, практически готов), это не использовать буфер вообще, а внутри первого класса, а для каждого кусочка постскрипта вызывать метод фторого класса и передавать в него этот кусок. Но что-то мне кажеться что это лишнее усложнение логики.

Вот поскажите как лучше сделать, что использовать в качестве буфера, или это все мелочи и я просто парю себе мозг?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
igor_bogomolov
  опции профиля:
сообщение 17.4.2009, 10:11
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Стратегии увеличения размера
Sokoloff, возможно вы уже это читали, если нет, то будет очень интересно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.5.2024, 23:38