Я встречаюсь много раз с кодом, где std::vector:: clear() члена класса типа std::vector вызывается в конструкторе и деструкторе.
Я не понимаю, зачем это нужно:
- конструктор - член класса типа std::vector по умолчанию пуст, поэтому нет необходимости вызывать clear().
- деструктор - член класса типа std::vector будет уничтожен как часть стандартного уничтожения объекта, сопряженного с ним. В рамках уничтожения вектора все объекты значения, содержащиеся в нем, будут уничтожены (если он кучи выделенных указателей на память, их следует удалить "вручную" ), поэтому снова не нужно вызывать clear().
Я что-то пропустил?