До недавнего времени всё было хорошо, но потом появилось предупреждение "consider using std::find_if algorithm instead of a raw loop" на подобный способ поиска.
Как это можно правильно переписать, может кто сталкивался?
Последний раз редактировалось devilr 01.08.2020 15:08, всего редактировалось 1 раз.
Мудрость приходит с возрастом.
Иногда возраст приходит один. Эхо разума
Это всего лишь предложение компилятора, так как усматривает готовый алгоритм STL для поиска, не факт что это ускорит программу. Можно просто плюнуть, а можно попробовать создать свою функцию предикат, которая будет делать сравнение и передать ее в find_if. Методы начала и конца уже реализованы в контейнерах qt - begin, end. Тут показывается как выглядит реализация данного цикла и пример использования.
Ну так и смотрите, там в функцию предиката передается объект структуры(указатель), ну а что с ним делать, можно добавить отладочную печать в предикате.
Предикат функция bool с аргументом типа итератор Qlist.. , он и будет указывать на структуру. Можно сразу в качестве аргумента указать структуру, итератор же указывает на структуру. Ну а дальше весь функционал в предикате.