На каком этапе правильнее сделать sqeeze?
Что происходит с памятью, когда мы делаем sqeeze? Полагаю, выделяется новый участок памяти, данные копируются в него и старый участок затирается.
Необязательно, адрес может остаться тем же (но полагаться на это не стоит). На "достаточно старых ОС" sqeeze может не освобождать память. Создание tmp здесь ничего не дает - просто будет swap "пимплов", dest будет иметь тот же неиспользуемый пул. Резервирование "побольше" проблематично. Думается меньше ухищрений = лучше
C++ (Qt)
QVector<int> dest;
dest << 1 << 2 << 3;
dest.squeeze();