Название: Сделать из одного списка QLinkedList два Отправлено: qtkoder777 от Октябрь 09, 2017, 16:10 Можно ли сделать из QLinkedList два списка из его элементов, не расходуя дополнительную память? То есть поставить указатели новых списков на элементы первого списка. Оператор = для итератора зачем-то есть. Так то видимо работать не будет
Код
Название: Re: Сделать из одного списка QLinkedList два Отправлено: ksk- от Октябрь 10, 2017, 07:36 operator+ разве этого не делает?
Название: Re: Сделать из одного списка QLinkedList два Отправлено: Igors от Октябрь 10, 2017, 13:13 Я так понял что дело не в доп памяти, хочется чтобы оба контейнера содержали одни и те же данные (а не их копии). Если так то никак, эл-т хранится или в одном контейнере или в другом (но не в обоих). Можно хранить сами данные в QList (sizeof(T) > sizeof(void)) а указатели уже в 2 (или сколько угодно) контейнерах. Или один QLinkedList хранит указатели и отвечает за их создание и удаление, а другие нет
Название: Re: Сделать из одного списка QLinkedList два Отправлено: lit-uriy от Октябрь 11, 2017, 14:09 тут наверное лучше озвучить изначальную (стратегическую) задачу, может её можно решить иным способом.
Название: Re: Сделать из одного списка QLinkedList два Отправлено: qtkoder777 от Октябрь 12, 2017, 00:28 тут наверное лучше озвучить изначальную (стратегическую) задачу, может её можно решить иным способом. Нужны кольцевой список и класс полигона на его основе.http://algolist.ru/ds/basic/ring.php http://algolist.ru/maths/geom/datastruct.php Работать с голыми указателями не хочется. Название: Re: Сделать из одного списка QLinkedList два Отправлено: qtkoder777 от Октябрь 12, 2017, 00:28 Я так понял что дело не в доп памяти, хочется чтобы оба контейнера содержали одни и те же данные (а не их копии). Да, именно это и надо |