Russian Qt Forum
Ноябрь 22, 2024, 18:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Организация данных  (Прочитано 1987 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Сентябрь 19, 2016, 07:20 »

Добрый день

Есть структура
Код
C++ (Qt)
struct CData {
Container1 * data1;
Container2 * data2;
Container3 * data3;
Container4 * data4;
...
ContainerN * dataN;
};
На сегодняшний - все "просто указатели" (не "умные"). Нужно добавить возможность "ссылки", т.е. какая-то CData использует напр только data1 и data2, а все остальные контейнеры берет из другой CData. Это можно сделать без всяких затей, напр
Код
C++ (Qt)
struct CData {
Container1 * GetData1( void ) { return UseRef(FLAG_1) ? mRef->GetData1() : data1; }
..
private:
CData * mRef;  // master
int mFlag;         // what to use from master
 
Container1 * data1;
...
};
Но сейчас трудно оценить насколько хорошо это "ляжет", не придется ли потом "ловить блох" в операциях удаления, undo и др. Может есть что-то симпатичное c "умными"? Правда переделать просто указатели на умные обойдется не так уж дешево

Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.129 секунд. Запросов: 22.