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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 2 [3] 4 5 ... 166
31  Программирование / Общий / Re: Ускорить : Апрель 26, 2021, 14:05
QVector кстати сам по себе - тормоз даже по сравнению с std::vector.
А тут имхо лучше построить QMap с чилда на пэрент: QMap<CData*, CData*> childToParentMap
Т.к. QList придётся всё равно просматривать.
32  Программирование / С/C++ / Re: Итераторы : Апрель 23, 2021, 17:40
..что мешает тогда создать временный вектор ..
Угрызения совести Улыбающийся Все-таки это говнокод

Ну, это скажем так, простое решение малой кровью (без лишних классов-итераторов-шаблонов).

Но лучшим решением было бы void processItem(CData& item).
33  Программирование / С/C++ / Re: Итераторы : Апрель 23, 2021, 15:09
А что мешает тогда создать временный вектор поинтеров на mData? Это всего-то 2 строчки кода..

QList<CData*> dataList;
for (auto& data: mData) dataList << &data;

ну и дальше где нужно выбирать:

auto & dst = useSelection ? mSelection : dataList;
for (auto & data : dst) {
 ..
}
34  Программирование / С/C++ / Re: Итераторы : Апрель 23, 2021, 11:20
Что же нового/современного можно использовать? (вместо структур > 10 летней давности). Конечно "с выгодой", а не так, абы накрутить. Выходит что здесь и ничего. Или может задача "ну совсем уж серая, банальная", для нее и старого хватит? Или как?

Вот вообще не понимаю проблемы, если честно.
Есть два вида массивов: со ссылками и с указателями.
Элементы обрабатываются одинаково.
Вывод: обработчик элементов должен быть общий, циклы - разнесены.

for (auto& item: mData)
  processItem(item);

и

for (auto* item: mSelection)
  processItem(*item);

И всю обработку столкать в void processItem(CData& item).
Если надо, processItem к тому же можно сделать виртуальной, чтобы в возможных наследниках можно было бы (теоретичски) менять поведение.
35  Программирование / С/C++ / Re: Итераторы : Апрель 21, 2021, 23:30
И в чём проблема? Это пайплайн. Он должен выполняться строго слева направо (ибо в этом его суть) и никак иначе. Сайд-эффект в чём?
В том, что gcc до 7.1 лажал и генерировал шляпу. Улыбающийся

А. Тогда стыдно им всем. Должно бы быть...
36  Программирование / С/C++ / Re: Итераторы : Апрель 21, 2021, 17:08
И как вы предполагали - какой Rand будет вызван первым - левый или правый?

В 2ГИСе мы спрашивали похожую задачку
std::cout << f() << f() << f() << std::endl;

где f() имеет сайд-эффект (делает i++)

никто не решил (я в том числе)


И в чём проблема? Это пайплайн. Он должен выполняться строго слева направо (ибо в этом его суть) и никак иначе. Сайд-эффект в чём?
37  Программирование / С/C++ / Re: Итераторы : Апрель 21, 2021, 10:36
Цитировать
Вот этот код дает UB (печатает -1 вместо ожидаемого 0)

Почему UB? Он и должен выводить -1.
В коде же явно написано "*i = -1", а i передаётся поинтером 1 в 1.

Другое дело, что такой код в продакшене никто использовать не будет.
Разве что как тест для компилятора.


38  Qt / Вопросы новичков / Re: Как вызываются деструкторы : Апрель 20, 2021, 22:19
Мне тогда казалось, что Билдер сделали специально, чтобы люди учили паскаль и переходили на Делфи...
39  Qt / Вопросы новичков / Re: Как вызываются деструкторы : Апрель 20, 2021, 20:22
В те времена Борладн Билдер был силен (тоже хакнутый).

Да он падал постоянно и тормозил как хряк...
40  Программирование / С/C++ / Re: Ошибка компиляции cannot find -lGL : Апрель 20, 2021, 20:21
Столько лет Qt существует, не могли до сих пор свой компилятор под него сделать (Qgcc) Грустный
А зачем? GCC вполне хорош.

Как зачем?? Был бы написан с использованием Qt-классов, компилировал бы виждеты сразу в нативный код...
41  Qt / Вопросы новичков / Re: Как вызываются деструкторы : Апрель 20, 2021, 17:27
Я сидел на Turbo C, пока не вышел Borland C++ 3.0, тогда я перешел на него.

Помню, Турбо С, еще лабы на нём на 1 курсе делали...

А я с Qt 2 начинал, причем нашел я его случайно, когда искал нормальную графическую оконную библиотеку вместо богом забытого MFC (потому что после TuboVision, это говно использовать было противно. Улыбающийся
И Qt в этом отношении не разочаровал. Кстати Qt внес значительный вклад в мой переход на linux, как основную платформу. На венде Qt был платным и его приходилось патчить, что бы он не показывал ничего лишнего и работал после 30-дневного периода, а на linux он был свободен. Улыбающийся

Да, MFC и TuboVision были настолько убоги, что никакого желания под них писать не было...
А Qt был платным, да, приходилось его хакать) Помню, когда-то самопохаканные сборки на Qt Underground тогдашний выкладывал )))
42  Qt / Общие вопросы / Re: Хороший лог-вьювер : Апрель 20, 2021, 15:57
Умел бы glogg фильтровать, цены бы не было.

Поднял приоритет фиче https://github.com/variar/klogg/issues/73 в своем TODO списке. Есть пожелания, как оно должно работать? Как в UI выглядеть? Фильтровать хочется в области просмотра исходного файла (верхняя панель), или в результатах поиска скрвать строки, которые попадают под условия поиска но не проходят фильтр? Сразу скажу, что второй вариант сильно проще в реализации.

Представления примерно такие:
- юзер выбирает фильтр "только ошибки", "только ворнинги" или подобное.
- строки, не подпадающие под фильтр, прячутся.
- пока активен фильтр, поиск ведётся только в видимых строках.
- если убрали-поменяли фильтр, текущая строка должна оставаться видна на экране.
Можно так?
Спасибо)
43  Qt / Вопросы новичков / Re: Как вызываются деструкторы : Апрель 19, 2021, 18:16
А вообще времена тогда были хорошие - деревья выше, трава зеленее. Улыбающийся
Я в те времена писал на ассемблере и C, и девочки клипающие на клипере бухгалтерскую фигню, смотрели на меня как на бога. Улыбающийся
Паскаль я знал, но относился к нему как к бейсику. Писал на нем курсовые для моей первой жены, она на мехмате училась.
Эхх, молодость, молодость. Улыбающийся

Ага, паскаль, ассемблер, дельфи 6 как раз вышла тогда...
Вот на ней много писал, пока с Qt не познакомился, 3.2 кажись ещё. После этого сразу забил на дельфи Улыбающийся
И пиво дешёвое тогда было, вот)
44  Программирование / С/C++ / Re: Ошибка компиляции cannot find -lGL : Апрель 19, 2021, 17:59
Да блин qmake и тот не смогли допилить, в итоге на cmake позорный заменили Грустный

Короче, надо уходить с Qt, наверное, на C# - микрософт то всяко серьёзная контора будет, такого кривого софта не делает.
45  Программирование / С/C++ / Re: Ошибка компиляции cannot find -lGL : Апрель 19, 2021, 11:25
А чего QT само не установило жизненно необходимые библиотеке, самому даже пришлось ставить gcc 

Надо им в поддержку написать. Столько лет Qt существует, не могли до сих пор свой компилятор под него сделать (Qgcc) Грустный
Страниц: 1 2 [3] 4 5 ... 166

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