У вас гораздо больше контроля над массивами
Как насчет:
1) вы имеете дело с колоссальными наборами данных, где данные должны быть сопоставлены с файлами, а не выделены с помощью malloc
илиnew
из-за его размера.При таком сценарии беспокойство о том, что делать, если вы не зарезервировали достаточно адресного пространства в начале, может быть спорным, хотя я полагаю, что вы можете удалить, расширить, переназначить файл, если это не запрещено фрагментацией адреса или моей второй точкой.
2) Код, который использует многопроцессорную обработку без блокировки.Хиты производительности при остановке потоков для перераспределения (или любой другой «вкусности STL») могут быть неприемлемыми, поэтому при использовании массивов у вас гораздо больше контроля, вам может потребоваться вызвать множество функций, чтобы приостановить другие потоки перед изменением размерачто-нибудь.
Кстати, я обычно имею дело с 1 и 2 одновременно.Массивы структур + указатели прекрасно работают, компилируя с C ++, потому что вы все еще можете использовать некоторые функции C ++ в других местах кода.Я уверен, что мог бы придумать еще много примеров, если бы попытался достаточно усердно