Название: Шаринг регулярных данных Отправлено: Igors от Марта 29, 2021, 11:11 Добрый день
Есть простецкий член класса Код И вот обнаружилось что "иной раз" этот mIndex интенсивно повторяется и жрет немало RAM и раздувает файлы данных (> 1 Gb). Напрашивается его "зашарить", причем хотелось бы это сделать "малой кровью", проблема возникает далеко не всегда. Цитировать Используй QVector вместо std::vector - и будет тебе счастье [off]Давая такие ответы человек полагает что "шлифует свое мастерство" :), но это рано или поздно проходит, и он покидает форум [/off] Ну хорошо, допустим имплисит шара мне автоматом "расшарит", пусть придется отследить [] и at(). А как "вернуть взад" при undo? И как писать/читать из файлов/потоков избегая "дубляжа"? А если std::shared_ptr ("Qt только для UI") то я не имею даже авто-расшаринга. Придется городить какую-то свою систему. Конечно это не так уж сложно, но это же "в чистом виде" велик, где же общность? Или возможны "более солидные" решения? Другой вопрос, который я бы тоже охотно пообсуждал: а не "мелкотравчатый" ли этот подход? Очевидно что дублируется вся структура CMaterial, вот ее и надо шарить! Тут я не знаю как, потому что CMaterial имеет разнообразные члены ссылки/ID на владельца, которые у копий не равны. Спасибо Название: Re: Шаринг регулярных данных Отправлено: Igors от Марта 31, 2021, 14:42 "И тишина..". А ведь не так уж давно каждым вторым словом было "шаред" или "юник", несчастные "голые" указатели безжалостно истреблялись и.т.п. Наверное мне никогда не угнаться за модой :) Ну ладно, сделал свой велик, получился какой-то "тоже шаред" но который не имеет ничего общего со стандартным. Конечно это плохо
Код Я конечно понимаю что там большие, умные дяди "которые знают плюсы в 100 раз лучше", а я тут лезу со своими "костылями". Но что остается если нужного мне ф-ционала нету, хоть лопни :'( Вообще стандартный шаред не то чтобы "плох", но мне ни разу не удавалось его "развить", получить больше возможностей чем стандартных. |