Синтаксис неограниченного массива: динамический или статический [закрыт]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Синтаксис неограниченного массива: динамический или статический [закрыт]

Сообщение Гость »


Мне было трудно найти подходящее название для этого вопроса.

Мне представили специализацию std::unique_ptr для T[], которая оборачивает динамически выделяемый массив. Тем не менее, согласно cppreference Массивы с неизвестной границей, объявление неограниченного массива приводит к неполному типу, который должен быть инициализирован в какой-то момент, но всегда во время компиляции. Неограниченные массивы в конечном итоге ссылались только на массивы фиксированного размера.

Но в контексте частичной специализации шаблона параметр шаблона неограниченного массива, по-видимому, можно отображать как в динамических, так и в статических массивах. Вот фрагмент, иллюстрирующий это:

#include #include #include // выделенный объект подсчета данных (для целей отладки) структура данных { статический счетчик std::size_t; интервал значения = 0; данные() { ++count; } ~данные() { --count; } }; std::size_t данные::count = 0; // надеемся, что размер будет рассматриваться как константа времени выполнения std::size_t GetSize(std::size_t S) { return S + 1; } // простой шаблон для иллюстрации синтаксиса T[] // общая версия, из значения шаблон структура-обертка { Твал = Т(0); Wrapper(T value): val(value) { std::cout
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»