valgrind не будет показывать утечку памяти, потому что у вас может не быть той, которую найдет valgrind.
На самом деле, у вас могут быть утечки памяти в таких языках сборки мусора, как Java.Хотя память там очищается, это не означает, что плохой программист не может бесконечно хранить данные, которые им больше не нужны (например, создавать хэш-карту бесконечно).Сборщик мусора не может определить, что пользователю больше не нужны эти данные.
Возможно, вы делаете что-то подобное здесь, но нам нужно увидеть больше вашего кода.
КстатиЕсли у вас есть коллекция, которая действительно имеет массу данных, вам часто лучше использовать std :: deque, а не std :: vector, если вам действительно не нужно, чтобы все было непрерывно.