Почему в C ++ 14 и массивы времени выполнения и std :: dynarray?

Проект C ++ 14 включает в себя как размерные массивы, так иstd::dynarray контейнер. Из того, что я могу сказать, единственная реальная разница между ними состоит в том, чтоstd::dynarray имеет интерфейс STL (например,beginendsizeи т. д.), в то время как во время выполнения массивов нет. Так зачем C ++ 14 оба?

Я понимаю, что размерные массивы являются частью основного языка, в то время какstd::dynarray является частью стандартной библиотеки, нопредложение дляstd::dynarray ясно дает понять, что авторы ожидают, что компиляторы во многих случаях будут предлагать особую поддержкуstd::dynarray так что он может быть настолько эффективным, насколько это возможно, т. е. таким же эффективным, как массив размера во время выполнения. Таким образом, различие между языком и библиотекой кажется несколько искусственным.

Итак, еще раз, почему C ++ 14 нужны как массивы времени выполнения иstd::dynarray? И учитывая, чтоstd::dynarray имеет более богатый интерфейс (STLified), почему бы не просто удалить массивы во время выполнения, если предположить, чтоstd::dynarray может быть реализован с равной эффективностью выполнения?

осветление

Когда я говорю оразмерные массивы "I"Я имею в виду новую особенность языка C ++ 14, которая 'описано вN3639, не для традиционных массивов C или VLA или чего-либо в C ++ 11.

Ответы на вопрос(3)

Ваш ответ на вопрос