При работе с некоторым кодом я испытал снижение производительности QT Creator. Фактически он запускает поток, который занимает 100% ЦП в бесконечном цикле: даже закрытие процесса IDE без его уничтожения становится невозможным. Это полностью воспроизводимо на моей машине. Перед отправкой сообщения об ошибке я хочу получить подтверждение от других пользователей и собрать некоторую статистику для версий QT Creator, ОС, компилятора, STL и т. Д. Код требует C ++ 11 и выше.
После некоторого исследования я сократил свой код до кратчайшего примера, который воспроизводит проблему (не смотрите на симантику кода, проблема в том, как IDE обрабатывает его):
#include <set>
int main() {
std::set<int> s;
auto iter = s.insert(1).first;
iter->second;
return 0;
}
Основные моменты:
- авто важно
- такое же поведение можно воспроизвести с помощью карты вместо набора
- insert важен, поскольку он возвращает не простой итератор, а пару
- Строка iter-> second является симметрично неверной, но это не важно (вы можете использовать std :: set , чтобы исправить ее). Проблема в том, что IDE падает после iter -> , что бы это ни значило.
Моя конфигурация: QT Creator 3.5.1 на основе Qt 5.5.1 (MSVC 2013, 32 бит); Windows 10.