Всё просто: std::vector это обычная надстройка над динамическим массивом то есть внутри std::vector всё так же использует new или delete (но уже через другую прослойку, которую можно менять в зависимости от потребности - аллокатор) внутри std::vector хранит дополнительную информацию о своём динамическом массиве (например текущий размер массива или размер выделенной памяти)
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
может тебе это покажется спорным утверждением, но в современных плюсах явный вызов операции new и delete (непосредственно в любом виде) является моветоном, так как к текущему моменту язык покрывает все необходимые случаи в выделении памяти при помощи иных механизмов, например smart pointers, RAII или те же аллокаторы Но вообще концепция такая: использовать инструмент по надобности В больнице случаев вектор покроет все ваши потребности. Там где не покроет вы напишите надстройку, какой-нибудь кастомный аллокатор(или скорее всего возьмёте готовый). А если и тут окажется мало, то используете динамические массивы
В принципе только тем что вектор оформлен в законченный и удобный для использования тип данных (класс). Пол сути это и есть обычный динамический массив.
Всегда думал что вектор и есть динамический массив
Нет, вектор это шаблон класса для реализации удобной обёртки над динамическим массивом
Обсуждают сегодня