Какой статус у динарцев?

GCC 4,9 теперь есть поддержка n3696 (динамические массивы с автоматическим хранением). n3662 говорит:

В N3497 Размерные массивы с автоматическим хранением
В продолжительности Jens Maurer предлагает массивы с ограничением времени выполнения. Эти массивы
должны быть std :: dynarray как обычные массивы фиксированного размера для std :: array.

В этом список рассылки, Джонатан Уэйкли говорит:

Мы должны добавить в руководство таблицу состояний C ++ 14, но пока
Вот краткий обзор состояния библиотеки.

Эти отсутствуют:

  • N3672 Предложение добавить служебный класс для представления необязательных объектов.
  • N3655 TransformationTraits Redux
  • N3662 C ++ Динамические массивы
  • N3644 Итераторы нулевого пересылки

Черты одна проста, но немного утомительна и итераторы один
вероятно влияет только на режим отладки, но два других являются существенными
кусочки работы. Кто-нибудь планирует работать или
еще?

Тем не менее, n3662 также говорит:

Вместо принятия C массивов переменной длины мы предлагаем
определить новое средство для массивов, где число элементов связано
на строительстве. Мы называем эти динамические массивы, dynarray.

Не могу найти dynarray используя быстрые клавиши CTRL + F на gcc страницы. Так и есть dynarray будет реализован в ближайшее время, и будет variable length arrays остаться или это исчезнет?

5

Решение

std::dynarray вначале предполагалось использовать c ++ 14. Однако позже было решено, что std::dynarray будет перемещен в «Массив TS», который также может включать в себя некоторые std::array_view учебный класс. Основная причина в том, что в некоторых случаях комитет не согласовал некоторые моменты, касающиеся распределения кучи и распределения стека (что если вы попытаетесь выделить std::dynarray с new). Поэтому было решено, что это будет отложено. Есть еще некоторые текущие дискуссии о том, что должно быть сделано.

Класс не будет готов к C ++ 14. Вероятно, он будет поставляться с массивами TS или C ++ 17.

Обновить: std::dynarray не было в C ++ 14, не будет в C ++ 17, Arrays TS был прекращен, поэтому, вероятно, не будет ничего близкого std::dynarray в стандарте в ближайшее время. Если я правильно понимаю текущую позицию стандарта, а не волшебные массивы размера во время выполнения, комитет скорее придумает общее решение для классов размера во время выполнения, но каждый предложение до сих пор было отклонено.

8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]