Код: Выделить всё
longКод: Выделить всё
std::views::enumerateОднако из черновика
Тип size_t — это определяемый реализацией целочисленный тип без знака, который достаточно велик, чтобы содержать размер в байтах любого объекта ([expr.sizeof]).< /p>
Таким образом, можно представить массив настолько длинным, что конечные элементы из некоторого индекса и далее не соответствуют типу, используемому enumerate для индексации , хотя по определению все еще соответствует std::size_t, предоставленному на данной машине, выполняется следующее
Код: Выделить всё
static_assert(std::numeric_limits::max() > std::numeric_limits::max());
Код: Выделить всё
std::vector v(std::numeric_limits::max());
Код: Выделить всё
auto w = v | std::ranges::views::enumerate;
for (auto [k, _] : w) {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79195178/can-stdrangesenumerate-enumerate-any-possible-valid-c-array[/url]
Мобильная версия